java - 使用java的小数问题
问题描述
当我在我的函数中传递这些值时,我正在四舍五入一些值round()
,在我使用Math.pow
并Math.round
实现的圆形函数中:
round(x,2);
round(xx,2);
float x =4.68;
float xx = 4.00;
after my round off function
public static Float round(Float value, int places) {
if (value != null) {
Float scale = (float) Math.pow(10, places);
return (Float) (Math.round(value * scale) / scale);
}
return value;
}
Output Coming:
x = 4.7
x = 4
expected Output is or REQUIREMENT IS:
x-->4.70
x-->4.00
解决方案
如果您调用函数 round(x,2),则意味着您希望输出一个四舍五入到小数点后 2 位的数字。不管是 4.7 还是 4.70000。这仍然是相同的数字。
我认为您的问题是关于格式化输出以进行打印。在这种情况下,您可以使用如下简单代码:
float x =4.68;
float xx = 4.00;
System.out.printf("%.2f", x);
System.out.printf("%.2f", xx);
推荐阅读
- node.js - 什么是 MongoDB 中的“连接”?
- c - 以 ' * ' 作为参数的错误
- reactjs - ReactJS POST fetch 不起作用,错误是:TypeError: Failed to fetch
- spring - 如何从 WebSecurityConfigurerAdapter 中删除身份验证
- javascript - 如何删除由 div 的模糊背景图像造成的意外框阴影?
- javascript - 使用纯JavaScript单击元素后如何获取元素的ID?
- react-native - 无需 SDK 的 React 原生支付网关
- python - 在python中使用rawpy vs imageio读取尼康原始(NEF)图像
- python - 正则表达式:匹配项的变量数组丢弃可选文本
- c - strace中execve之后的系统调用从何而来?他们在做什么?