【发布时间】:2014-03-02 12:39:58
【问题描述】:
所以我需要将诸如 143.203030 之类的双精度数更改为 143.20 向上或向下舍入第二个数字(如金钱),我的计划是将双精度数转换为一个数组,然后如果小数点后的第三个数字是 5 或更大element 会比原来大一。如何访问 double 的每个 int 以及如何将我的 int 数组转换回 double。现在......这显然是一种可怕而低效的方式,还有什么更好的主意。我会花时间编写代码,但我认为解释它并寻求更好的方法是一回事。好吧,实际上我无法编写代码,因为我不知道访问 double 的每个部分。
【问题讨论】:
-
首先,不要用
double存储钱(有些值不能用double存储(准确))。 -
一般来说,这样做是不可能的,因为浮点数存储在基数 2 而不是基数 10 中,并且具有固定数量的有效位。
标签: java arrays int double rounding