【问题标题】:Rounding numbers to specific multiples [duplicate]将数字四舍五入到特定倍数[重复]
【发布时间】:2012-05-04 21:49:00
【问题描述】:

如何在 Java 中舍入到特定的倍数? 在 excel 中有 mround 函数,它允许轻松舍入到指定的倍数,如下所示:

    mRound(variable,multiple)

所以如果x = 7.96 如果x = 7.2mRound(x,3) 将返回9

到目前为止,我发现的所有舍入函数总是四舍五入到最接近的整数或指定的小数位数,但我希望能够更改每个变量的倍数。有谁知道什么功能最适合这种情况?

【问题讨论】:

  • 没有单一的功能。 mul*round(x/mul).

标签: java function math rounding


【解决方案1】:

只需除以数字,四舍五入,然后乘以数字。

double mRound(double value, double factor) {
    return Math.round(value / factor) * factor;
}

【讨论】:

  • 是的...虽然我怀疑factor 和返回值都应该是ints。
  • @X-Zero:将factor 设为double 可以使用0.001 等值四舍五入到最接近的千分位。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-25
  • 1970-01-01
  • 2013-08-22
  • 2012-03-07
  • 1970-01-01
  • 1970-01-01
  • 2020-10-22
相关资源
最近更新 更多