Java中double转String

使用String的valueOf()

使用string的valueOf()方法测试发现string为科学技术法的字符串;

		double d1=1234.34;
        double d2=1234534567.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.23453456734E9

包括使用String和double直接进行“+”运算也会出现这样的情况

        double d1=1234.34;
        double d2=1234534567.34;
        String s1 = d1 + "";
        String s2 = d2 + "";
        System.out.println("double数据长度小的时候:"+d1);
        System.out.println("double数据长度大的时候:"+d2);

输出

double数据长度小的时候:1234.34
double数据长度大的时候:1.23453456734E9

所以在网上找了另一种写法:

		Double d1=12345678.00;
        Double d2=12345678.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);
12345678
12345678.99

用到了NumberFormat类转换实现真正意义上的double转字符串

注意的是这样写末位如果是0的话转换以后就丢失了;

小结

开发中遇到的记录一下,有说的不对的地方可以留言告诉我

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值