首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

含E的科学计数法格式转换有关问题

2012-09-02 
含E的科学计数法格式转换问题项目中碰到数值采用科学计数法表示,数值是从excel解析得来的,科学计数法在exc

含E的科学计数法格式转换问题

项目中碰到数值采用科学计数法表示,数值是从excel解析得来的,科学计数法在excel里应该很常见。我的问题是解析出数值,我要对其进行校验,校验其是否为数值,我使用了java的正则表达式,非科学计数法的数值表示是没问题的,但就是采用了科学计数法的数值无法校验通过,

一、BigDecimal 解决办法:


??BigDecimal bg=new BigDecimal("3.456785E-8");
??System.out.println(bg.toPlainString());

?

二、DecimalFormat 解决办法:

??DecimalFormat f = new DecimalFormat("###.######");
??System.out.println( f.format(1.5E-05) );

?

?

有时候应该还会反过来,将数值转换成科学计数法:

?DecimalFormat? f = new DecimalFormat("000.0E00");
??System.out.println( f.format(0.000015) );

上面的解决办法都没考虑国际化的问题。

?

转自:http://iambrent.blog.163.com/blog/static/68288496201073184414431/

热点排行