圆形功能无法按预期工作
Round function doesn't work as expected
我正在尝试将 Double 值四舍五入到小数点后两位:
var x = 0.68999999999999995
var roundX = round(x * 100.0) / 100.0
println(roundX) // 打印 0.69
如果打印值正确..但 var 值不是我期望的,继续 0.68999999999999995
我需要 Double 值...不像其他 Whosebug 答案那样是 String :(
双精度等浮点数没有小数位数。它们以二进制形式存储值,无法准确表示像 .69 这样的值。这只是计算机上二进制浮点数的性质。
使用数字格式化程序,或按照@KRUKUSA 建议使用 String(format:)
var x:Double = 0.68999999999999995
let stringWithTwoDecimals = String(format: "%.2f", x)
println(stringWithTwoDecimals)
我正在尝试将 Double 值四舍五入到小数点后两位:
var x = 0.68999999999999995 var roundX = round(x * 100.0) / 100.0 println(roundX) // 打印 0.69
如果打印值正确..但 var 值不是我期望的,继续 0.68999999999999995
我需要 Double 值...不像其他 Whosebug 答案那样是 String :(
双精度等浮点数没有小数位数。它们以二进制形式存储值,无法准确表示像 .69 这样的值。这只是计算机上二进制浮点数的性质。
使用数字格式化程序,或按照@KRUKUSA 建议使用 String(format:)
var x:Double = 0.68999999999999995
let stringWithTwoDecimals = String(format: "%.2f", x)
println(stringWithTwoDecimals)