Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将数字舍入到特定倍数_Java_Function_Math_Rounding - Fatal编程技术网

Java 将数字舍入到特定倍数

Java 将数字舍入到特定倍数,java,function,math,rounding,Java,Function,Math,Rounding,如何在Java中舍入到特定的倍数? 在excel中,有mround函数,可以方便地四舍五入到指定的倍数,如: mRound(variable,multiple) 因此mRound(x,3)将返回9如果x=7.9和6如果x=7.2 到目前为止,我发现的所有舍入函数总是舍入到最接近的整数或指定的小数位数,但我希望能够更改每个变量的倍数。有人知道什么功能最适合这种情况吗 只需除以数字,四舍五入,再乘以数字即可 double mRound(double value, double factor

如何在Java中舍入到特定的倍数? 在excel中,有
mround
函数,可以方便地四舍五入到指定的倍数,如:

    mRound(variable,multiple)
因此
mRound(x,3)
将返回
9
如果
x=7.9
6
如果
x=7.2


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

只需除以数字,四舍五入,再乘以数字即可

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

没有单一的功能<代码>多轮*轮(x/mul)。是。。。尽管我怀疑
factor
和返回值都应该是
int
s.@X-Zero:make
factor
a
double
可以使用
0.001
这样的值四舍五入到最接近的千分之一。