2013-04-08 64 views
0

我已经看到了许多使用DecimalFormat和NumberFormat四舍五入的例子,但这些返回字符串使用时。是的,我知道可以使用解析来获取数字,但这会增加复杂性。爪哇圆翻倍并获得双倍

那么,如何将一个double加到一个给定的精度并获得尽可能少的中间点的双精度?

+4

您只能将基数2中的“double”舍入到精度,而不能用“小数点数”的精度进行舍入。如果你想使用许多小数点,你确实应该使用'BigDecimal'。 – 2013-04-08 17:05:01

+0

有没有什么办法来写它,以便它在基数10? – BAR 2013-04-08 17:23:42

+1

当然,使用'BigDecimal'。除此之外,没有。 – 2013-04-08 17:39:59

回答

0

没有真正的方法来做到这一点。你可以做旧的(X * 10^N)/ 10^N技巧,我想,但你可能无法获得你想要的任意精度。这是浮点数的技巧。如果你想要任意精度,你需要使用BigDecimal。