java - 如何将数字四舍五入到一定范围内?

标签 java rounding

我有这样的值:

421.18834

我必须使用如下所示的掩码正确地对其进行数学舍入:

0.05
0.04
0.1

例如,如果掩码是 0.04,我必须得到值 421.20,因为 .18 比 .16 更接近 .20。

我使用 Google 发现的所有功能都不起作用。

你能帮帮我吗?

最佳答案

double initial = 421.18834;
double range = 0.04;

int factor = Math.round(initial / range); // 10530 - will round to correct value

double result = factor * range; // 421.20

关于java - 如何将数字四舍五入到一定范围内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7851492/

相关文章:

java - Hadoop:没有数据本地任务

java - 防止 Tomcat 在 HTTP 错误状态 4xx 或 5xx 上干扰 Jersey/JAX-RS 2 响应主体

java - 坑突变 - if ( x !=null ) return null else throw new RuntimeException

c# - 查找十进制数中 n 位置的数字的最佳方法是什么?

sql - 总和中的小数舍入?

java - 使用Java时小数位数太多?

java - Perl 的 qq 运算符在 Java 中的等价物是什么?

java - android OpenGl 如何绘制一个矩形

java - Java 中的四舍五入小数

int - 在 C++ 中四舍五入到最近的偶数