关于浮点型数值的不精确问题求助(100分求) 会不精确吗!?没有试过,那试试用两个byte[]数组分别取rs的整数与小数部分,然后分别求整数之和与小数之和,之后将两者相加。。看看这样行不!?方法有点笨,不要笑我。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 由 JDBC PreparedStatement 和 ResultSet 类所提供的 setFloat() 和 getFloat() 方法,因为浮点数与小数之间的转换可能会丧失精确性。用 PreparedStatement 和 ResultSet 的 setBigDecimal() 及 getBigDecimal() 方法。但要注意:1 BigDecimal 对象是不可变的,对它进行计算会产生新的 BigDecimal 对象2 使用 equals() 方法来检测数值之间是否相等时要小心,equals() 方法认为,两个表示同一个数但换算值不同(例如,100.00 和 100.000)的 BigDecimal 值是不相等的,所以在从数值上比较两个 BigDecimal 值时,应该使用 compareTo() 楼上正解,精确的浮点运算用BigDecimal 可能会有不精确的问题,可以用double和BigDecimal;我在计算钱的程序中使用过double,在中间计算过程中可能有不精确的地方,但把结果保留2位小数后,是正确的;科学计算还是用BigDecimal较好. 简易浏览器的问题 菜鸟请教高手 遇到个问题,大家来看看,关于方法返回 swt 里边shell的视觉效果怎么是和系统的一样啊??? Applet创建出来的窗体的关闭问题 Struts 中 logic:iterate 标签的应用。 求助,关于minor code 求Java高手指点 skyyoung(路人甲)先生,你好:我遇到一个难题,特向你请教,我用 qmail+vpopmail 做邮件服务器,怎样区分新旧邮件? 为什么tomcat要与Apache结合使用? 有个关于多态的问题请教大家. Linux 下javac 编译的问题,高分求解.....
但要注意:
1 BigDecimal 对象是不可变的,对它进行计算会产生新的 BigDecimal 对象
2 使用 equals() 方法来检测数值之间是否相等时要小心,equals() 方法认为,两个表示同一个数但换算值不同(例如,100.00 和 100.000)的 BigDecimal 值是不相等的,所以在从数值上比较两个 BigDecimal 值时,应该使用 compareTo()
我在计算钱的程序中使用过double,
在中间计算过程中可能有不精确的地方,
但把结果保留2位小数后,是正确的;
科学计算还是用BigDecimal较好.