亲宝软件园·资讯

展开

R语言科学计数法数字转文本 R语言-怎样将科学计数法表示的数字转化为文本

RicardoYWL 人气:0
想了解R语言-怎样将科学计数法表示的数字转化为文本的相关内容吗,RicardoYWL在本文为您仔细讲解R语言科学计数法数字转文本的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:R语言,科学计数法,数字转文本,下面大家一起来学习吧。

统赛B组我们选择了图书馆课题,获得了数据,一时兴起尝试处理了一下门禁的数据,遇到了一些问题,特此记下,方便以后查阅。

门禁数据分为两个变量,第一列为学号,第二列为进门时间,原本是Excel文件,为了方便读入R我把它另存为了csv文件,但在读入R以后出现了一些问题

1、学号被存储为了科学计数法表示的数字

2、时间显示的也不全面,有些乱码

时间问题可以在Excel中把单元格格式设置一下就解决了,但是学号问题却遇到了一些小麻烦,我本来是想用

menjin$studentcode <- as.character(menjin$studentcode)

来解决,但是却。。。。没有任何反应,情急之下我google了一下,终于找到了结决方法,

menjin$studentcode <- format(menjin$studentcode,digits = 14)

解决了这一问题

以下是format()函数具体的用法:

format(x, digits, nsmall, width)

digits, nsmall, and width are all optional: nsmall suggests how many decimal places to use;digits suggests how many significant digits to include; and width suggests how long the total character string should be.

补充:将科学计数法转化为常规格式再转化为字符串类型(String)

问题描述:

在向Datagrid(也包括datacell,和前端使用的框架有关)中导入数据的时候遇到了一个这样的问题:当excel中的【单元格格式】设置为【数值】类型时,导入到datagrid中的数据发生了变化,如下图:

要导入的数据:

导入后的结果:

分新原因:

经过调试发现,当excel中的【单元格格式】设置为【数值】类型时,java后台获取到的是使用科学计数法表示的,如下图所示:

这时还是没有问题的,但是结果为什么出错呢,是因为类型转化的问题,这里不能使用String.valueOf( ) 方法进行转换。

解决问题:

使用数字类型格式化类 DecimalFormat顺利地解决了这个问题,如下方法:

    value=new DecimalFormat().format(cell.getNumericCellValue());//这里得到的是用“,”隔开的数字串
    value = value.replace(",", "");

结果如下:

为了方便设置数字格式,这里简单总结了 DecimalFormat顺的构造方法,如下:

DecimalFormat下的方法不再一一展示,有需要的可以查询一下。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

加载全部内容

相关教程
猜你喜欢
用户评论