我 div Integer (ex 3/6) 的 div 以及如何在 kotlin 中将其变成 0.500000。我尝试了一些解决方案,但没有一个解决我的问题。
val num = BigDecimal(3.div(6))
println("%.6f".format(num))
Run Code Online (Sandbox Code Playgroud)
但结果是 0.000000
Yon*_*bbs 39
3
并且6
都是Int
,并且将一个Int
除以另一个给出Int
: 这就是为什么你返回 0。要获得非整数值,您需要将除法的结果设为非整数值。一种方法是Int
在分割之前将其转换为其他内容,例如:
val num = 3.toDouble() / 6
Run Code Online (Sandbox Code Playgroud)
num
现在将是Double
值为 的 a 0.5
,您可以根据需要将其格式化为字符串。
您可能会有更好的运气:
val num = 3.toBigDecimal().divide(6.toBigDecimal())
println(num)
// prints 0.5
Run Code Online (Sandbox Code Playgroud)
您必须将这两个数字都转换为 BigDecimal 才能使该方法起作用。这将显示精确的商,或者如果无法表示精确的商(即非终止小数),则抛出异常。
您可以按如下方式设置比例和舍入模式:
val num = 3.toBigDecimal().divide(6.toBigDecimal(), 4, RoundingMode.HALF_UP)
println(num)
// prints 0.5000
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13432 次 |
最近记录: |