0

希望你能帮我解决这个问题:( 是的......我正在尝试计算票价,但它只显示前两位数字,它忽略了小数点,并且用 .00 替换了小数点

JavaBean 中的代码:

        ticketCosts.put(results.getString(1), Double.valueOf(results.getInt(2)));

任何想法,都会有所帮助......谢谢:(

4

2 回答 2

0

代替

   ticketCosts.put(results.getString(1), Double.valueOf(results.getInt(2)))

使用结果集的 getDouble 方法

 ticketCosts.put(results.getString(1), results.getDouble(2))

http://docs.oracle.com/javase/1.5.0/docs/api/java/sql/ResultSet.html#getDouble(int)

于 2013-05-15T02:03:23.950 回答
0

抱歉,对于 Money 不要使用 Double,您最终会出现舍入错误。

请改用 BigDecimal。

请参阅 https://blogs.oracle.com/CoreJavaTechTips/entry/the_need_for_bigdecimal

于 2013-05-16T01:37:26.883 回答