如何缓解 Kotlin 中的溢出
how to mitigate overflow in Kotlin
如题所示,我在Kotlin写操作函数的时候遇到了溢出。
这是一个例子:
fun main(args: Array<String>) {
val x: Double = 2.2
val y: Double = 1.0
val z = x - y
println("$x - $y is $z")
}
输出将是
2.2 - 1.0 is 1.2000000000000002
而不是
2.2 - 1.0 is 1.2
我正在编写的函数需要双数据类型变量,但我一直遇到这些溢出问题。我该如何缓解这个问题?
您可以使用 DecimalFormat
import java.text.DecimalFormat
fun main(args: Array<String>) {
val x: Double = 2.2
val y: Double = 1.0
val df = DecimalFormat("#.#")
val z = df.format((x - y)).toDouble()
println("$x - $y is $z")
}
如题所示,我在Kotlin写操作函数的时候遇到了溢出。 这是一个例子:
fun main(args: Array<String>) {
val x: Double = 2.2
val y: Double = 1.0
val z = x - y
println("$x - $y is $z")
}
输出将是
2.2 - 1.0 is 1.2000000000000002
而不是
2.2 - 1.0 is 1.2
我正在编写的函数需要双数据类型变量,但我一直遇到这些溢出问题。我该如何缓解这个问题?
您可以使用 DecimalFormat
import java.text.DecimalFormat
fun main(args: Array<String>) {
val x: Double = 2.2
val y: Double = 1.0
val df = DecimalFormat("#.#")
val z = df.format((x - y)).toDouble()
println("$x - $y is $z")
}