作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试编写一个java代码来将值舍入到以下要求。
如果 x=63.88 => roundedValue= 64.00;
如果 x=63.50 => roundedValue= 64.00
如果 x=63.32 => roundedValue= 63.32
我尝试了不同的舍入模式,如 CEILING、DOWN、FLOOR、HALFDOWN。我也尝试过 Math.round();
但是我无法获得预期的输出。我的输入是一个字符串,输出也是一个字符串。
请在下面找到我尝试过的代码片段
BigDecimal value1 = new BigDecimal(input);
value1=value1.setScale(2, RoundingMode.HALF_EVEN);
//float rounded=Math.round(amount);
String finalValue=String.valueOf(value1);
我无法获得所需的输出。请告诉我如何实现这一目标?
ps:我应该考虑使用 float 还是 BigDecimal?
最佳答案
if(x%1 >= .5)
{ x = Math.round(x) }
else //do nothing
这似乎会给你想要的输出。因此,如果您确实愿意,您可以重写或创建自己的方法来调用舍入
关于Java : Rounding a decimal value to HALF_EVEN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30459495/
我是一名优秀的程序员,十分优秀!