1
我注意到一些浮點轉換不同。但是還是不知道爲什麼會發生這種情況?我添加了兩個關於示例代碼的調試模式截圖。示例值:7.37和9.37。遇到它迅速肯定迅速使用IEEE 754 floating point standard請解釋這是怎麼發生的?轉換結果有何不同?爲什麼在浮點轉換中發生這種情況?
if let text = textField.text {
if let number = formatter.number(from: text) {
return Double(number)
}
return nil
}
浮點數有*有限精度* - 您鏈接的答案的哪一部分不清楚? –
比較http://stackoverflow.com/a/39777334/1187415:根據打印號碼的方式,使用'description'或'debugDescription',並且這兩種方法使用不同的精度來轉換爲字符串。 –
鏈接Q很明顯,但我不明白爲什麼7.37不像9.37那樣收斂?我的意思是7.37從右邊收斂(7.3700000..1),但是9.37從左邊收斂(9.36999..2)。 @ martin-r感謝你的回答,但對我仍然不清楚。我沒有選擇任何不同的精度進行轉換,因爲你在我的評論中解釋了 – yilmazburk