在java中,我尝试只在小数点后2位,而不进行最后2位的舍入。这是我的代码:-
val df = DecimalFormat("#.##")
val gh = df.format(19.14966566)
df的ans=19.15
但我只想要19.14,因为它是19.14966566的最后2位,没有四舍五入
您可以使用以下代码
double x = 19.14966566;
double y = Math.floor(x * 100) / 100;
O/P-> 19.14
在你的代码风格
val df = 19.14966566
val gh = Math.floor(x * 100) / 100
gh-> 19.14
您也可以参考此链接:https://stackoverflow.com/a/32303271/6838146
如果你遇到任何问题,请告诉我
你可以试试这个。。。它对我有效…
val df = DecimalFormat("#.##")
df.roundingMode = RoundingMode.FLOOR
val gh = df.format(19.14966566)
NumberFormat
为您提供了另一个解决方案
使用NumberFormat
,您可以显式设置:
- 本地语言
- 小数位数的最小值
- 小数位数的最大值
- 舍入模式
像这样:
val nf = NumberFormat.getInstance(Locale.US)
nf.minimumFractionDigits = 2
nf.maximumFractionDigits = 2
nf.roundingMode = RoundingMode.DOWN
val gh = nf.format(19.14966566)
println(gh)
将打印:
19.14