java 浮点数转换问题

项目里,需要把以元为单位的数据改为以分为单位,并放入数据库。我写了以下的转换方法,0.58的结果有并不是想象中的58,而是57。但0.59又是正常的。



    Double d1 = Double.parseDouble("0.58")*100;

    Integer w1= d1.intValue();

    System.out.println(w1);//57
    
    Double d2 = Double.parseDouble("0.59")*100;

    Integer w2= d2.intValue();

    System.out.println(w2);//59


于是我谷歌了一下,是浮点数转换的问题。所以在这里再加上math.rint()方法。


		Double d1 = Double.parseDouble("0.58") * 100;

		d1 = Math.rint(d1);

		Integer w1 = d1.intValue();

		System.out.println(w1);// 58

		Double d2 = Double.parseDouble("0.59") * 100;

		d2 = Math.rint(d2);
		
		Integer w2 = d2.intValue();

		System.out.println(w2);// 59


这个问题算是解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值