将Decimal和NSDecimalNumber准确设置为571.97

时间:2019-01-23 19:01:00

标签: swift

我无法将Decimal值设置为特定数字571.97,而没有精度错误。 Double和Floats保持精度,但是Decimal和NSDecimalNumber的偏移量不同。谁能看看这个,然后告诉我我要去哪里错了?我使用以下代码在Playground中重现了该问题:

import Foundation
let decimal: Decimal = 571.97  // 571.9700000000001024
let double: Double = 571.97  // 571.97
let float: Float = 571.97  // 571.97
let nsDecimalNumber: NSDecimalNumber = 571.97  // 571.9700000000003
let decimalizedDouble = Decimal(floatLiteral: double)  // 571.9700000000001024

0 个答案:

没有答案