http://www.meiriyouke.net/?p=260
今天做项目时,需要用到Excel批量导入手机号码,使用POI在读取Excel文件时,手机号码该列被认为是Double类型,插入到数据库时(数据库是varchar型),用了科学计数法表示,如:1.397545871E10,很显然,这不是我想要的。
起初把它转为BigDecimal型再转为String型以为解决问题,但是在做大批量导入测试时,当手机号码以10结尾,如:13975458710,会出现如:1.397545871E+10的问题,虽然通过多转换几次,可以解决问题,但总觉得不是最好的方法。
在网上查了相关资料,终于发现有简单的完美解决方案,代码如下:
// DecimalFormat df = new DecimalFormat("0.##"); // ##表示2位小数
DecimalFormat df = new DecimalFormat("0");
Double d = new Double("1.397545871E10");
System.out.println(df.format(d));