文章目录
使用String的valueOf()
使用string的valueOf()方法测试发现string为科学技术法的字符串;
double d1=1234.34; double d2=.34; String s1 = String.valueOf(d1); String s2 = String.valueOf(d2); System.out.println("double数据长度小的时候:"+d1); System.out.println("double数据长度大的时候:"+d2);
输出分别为
double数据长度小的时候:1234.34 double数据长度大的时候:1.E9
包括使用String和double直接进行“+”运算也会出现这样的情况
double d1=1234.34; double d2=.34; String s1 = d1 + ""; String s2 = d2 + ""; System.out.println("double数据长度小的时候:"+d1); System.out.println("double数据长度大的时候:"+d2);
输出
double数据长度小的时候:1234.34 double数据长度大的时候:1.E9
所以在网上找了另一种写法:
Double d1=.00; Double d2=.99; NumberFormat nf = NumberFormat.getInstance(); nf.setGroupingUsed(false); String s1 = nf.format(d1); String s2 = nf.format(d2); System.out.println(s1); System.out.println(s2);
.99
用到了NumberFormat类转换实现真正意义上的double转字符串
注意的是这样写末位如果是0的话转换以后就丢失了;
小结
开发中遇到的记录一下,有说的不对的地方可以留言告诉我
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214915.html原文链接:https://javaforall.net
