看板 MacDev 關於我們 聯絡資訊
最近練習有關plist file read/write時,發現一個奇怪的問題, 我寫入一個float 3.14的值給一個key,但是讀plist檔時變成3.14000010490....等的值 是不是語法上有了什麼問題? 程式碼簡化如下: 寫檔: //plistDict是個給好檔案絕對位址的指標 [plistDict setValue:[NSNumber nuberWithFloat:3.14] forkey:@"float"]; [plistDict writeToFile:FilePath automically: YES]; 請知道可以幫忙解惑一下,謝謝 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 222.156.254.86
ryanliang:用浮點數好像滿常出現這種情況的 我也想知道解決的方法 10/21 17:05
ryanliang:感謝你提出來啊 !! 10/21 17:06
roinla:囧rz~我後來找到了~用double就不會有這個問題了 10/21 17:52
uranusjr:浮點數本來就會這樣, 你用 double 也不能保證永遠不會... 10/22 00:03
yr:這就是二進位世界啊! 10/22 11:05
ryanlei:float的準確度好像就是到十進位小數後第六位 10/22 12:57