作者thinkniht ()
看板java
标题[J2SE] 进行浮点数运算时如何四舍五入至小数第几位
时间Tue Oct 9 09:06:30 2007
在进行数学运算时
如果型态是浮点数的话
如何对运算结果做四舍五入到特定小数位数
例如四舍五入至小数点後第一位、第二位等等
书上我只看到用Math.round四舍五入到整数位数
不知道有没有别的方法可以四舍五入到小数位数
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.170.69.229
1F:推 ogamenewbie:numberformat? 10/09 09:41
3F:推 archerlin:BigDecimal b = new BigDecimal(Double.toString(d)); 10/09 11:24
4F:→ archerlin:d = b.divide(new BigDecimal("1"), scale, 10/09 11:26
5F:→ archerlin: BigDecimal.ROUND_HALF_UP).doubleValue(); 10/09 11:27
6F:→ archerlin:类似这样...(d为欲四舍五入的double, scale为小数位数) 10/09 11:28
7F:推 ogamenewbie:如果要用 BigDecimal... 乾脆就不要转回浮点了 XD 10/09 11:30
8F:推 ogamenewbie:也不要从浮点转过去.. 10/09 11:31
9F:推 archerlin:请问O大精确的四舍五入用NumberFormat何解? ^^ 10/09 11:36
10F:推 Egriawei:我会用int转型相减,%取位数值,if最後合并,不懂用高级api 10/09 14:02
11F:→ Egriawei:或者只是要印出的话也可以搭配1.5的printf 10/09 14:07