java数据问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 03:11:52
我在写一个小程序的时候,有这样的一步:浮点型的0.9F乘以3,为什么结果会是2.68888889呢?

我早两天也遇到过,使用下面的方法就可以保留2位小数。

乘以100再除以100保留2位小数。
10就是1位小数

int value=(int)Math.round(x_value*100);
double d_value=(double)(value/100.00);

精度问题

解决方法是使用BigDecimal来进行计算
最后结果使用floatValue()转为float

0.9F*3也是float类型的,看你想要什么类型的数据输出,然后强制转换一下就ok了