首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

请问一些jsp浮数相加的有关问题,相加完的结果不对

2012-01-15 
请教一些jsp浮数相加的问题,相加完的结果不对请教一些jsp浮数相加的问题,相加完的结果不对我从数据库取出

请教一些jsp浮数相加的问题,相加完的结果不对
请教一些jsp浮数相加的问题,相加完的结果不对
我从数据库取出些数据--用的rs.getFloat( " ")取的,如下
3.02   +   123.02   =146.01999   (应该为146.02)
不知道为什么?


[解决办法]
3.02 + 123.02 =146.01999 ?????????对吗???
好象应该是 126.04吧
[解决办法]
浮点数的精度问题
[解决办法]
取出来的时候数值肯定是对的,误差主要产生在进行数值运算的时候。

浮点数运算精度问题,如果对计算结果要求不十分地高的话,可以采用

String str = String.format( "%.2f ", 23f + 123.02f); 转成字符串。

如果对计算要求高的话(比如财务系统的话),需要采用 BigDecimal 来进行处理。
[解决办法]
%.2f 调float的精度
[解决办法]
BigDecimal a = rs.getBigDecimal( "a ");
BigDecimal b = rs.getBigDecimal( "b ");

BigDecimal c = a.add(b);
[解决办法]
看一下你的数据库中的字段的属性设置
单精度还是双精度~
[解决办法]
既然结果只要求小数点后两位,管那么多干嘛,一种是一开始设置精度,另一种是对最后运算完的结果手工进行四舍五入取合适位数。两者各有适用处,看实际情况选择。
[解决办法]
用 BigDecimal

热点排行