gpt4 book ai didi

java - 根据参数在java中舍入 double 值

转载 作者:搜寻专家 更新时间:2023-11-01 02:08:07 25 4
gpt4 key购买 nike

我有以下场景,让我们假设 125,250,500 是我们必须根据其进行舍入的舍入参数。

  1. 当舍入参数为 125 时,我需要舍入到 1/8 美元,即,值 = 10.01 那么它应该返回 10.125value = 110.2 那么它应该返回 110.250

  2. 当舍入参数为 250 时,我需要四舍五入到四分之一美元,即,值 = 10.01 那么它应该返回 10.250value = 110.3 那么它应该返回 110.500

  3. 当四舍五入参数为 500 时,我需要四舍五入到半美元,即,值 = 10.01 那么它应该返回 10.500value = 110.6 那么它应该返回 111。

我已经使用 Math.round(8f * value/8f) 编写了代码,它四舍五入到最接近的 1/8 美元,但四舍五入应该总是向上,但在我的例子中,10.01 四舍五入到 10

最佳答案

首先,您不是在四舍五入,而是在做天花板。

这段代码做你想做的:

Math.ceil(n * 1000 / factor) * factor / 1000;

这里是绑定(bind)为方法的代码:

public static double ceil(double n, int factor) {
return Math.ceil(n * 1000 / factor) * factor / 1000;
}

请注意,不需要转换,因为在 Java 算术中,如果其中一个操作数是 double,其他操作数也会自动(并且安全地)扩展为 double

关于java - 根据参数在java中舍入 double 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25968684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com