测试环境:jdk8.
测试通过的做法,使用NumberFormat
Double s=Double.parseDouble("10000339") ;
NumberFormat nf = NumberFormat.getInstance();
nf.setGroupingUsed(false);//设为false则不使用分组方式显示数据。设为true则使用分组方式显示数据,即每三位数为一个分组,分组间以英文半角逗号分隔
String s1 = nf.format(s);
运行结果10000339
总结网上的几种错误转换方式:
方式一:valueOf() 依旧会有科学计数法
Double s=Double.parseDouble("10000339") ;
String s1 = String.valueOf(s);
运行结果1.0000339E7方式二:toString() 依旧会有科学计数法
Double s=Double.parseDouble("10000339") ;
String s1 = s.toString();
运行结果1.0000339E7方式三 format 会存在小数情况
Double s=Double.parseDouble("10000339") ;
String s1 = String.format("%.3f", s);
运行结果10000339.000
值得一提是Double s=new Double("10000339");这种方式在java9版本后就被抛弃使用了
-----------------------------------