new BigDecimal
//方式A:
double num=8.2347983984297E7;
String str=new BigDecimal(num+"").toString();
//方式B:
Double num=8.2347983984297E7;
String str=new BigDecimal(num.toString()).toString();
NumberFormat
弊端:代码很多
Double s = Double.parseDouble("10000339") ;
NumberFormat nf = NumberFormat.getInstance();
nf.setGroupingUsed(false);
String s1 = nf.format(s);
网上的几种错误转换方式
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版本后就被抛弃使用了。
本文探讨了Java中将double类型转换为不使用科学计数法的字符串的几种方法,包括new BigDecimal的两种用法以及NumberFormat的示例。同时,指出了valueOf()、toString()和String.format()的潜在问题,并提醒读者注意Java 9之后弃用的Doubles新建方式。
6790

被折叠的 条评论
为什么被折叠?



