作者roinla (GARFIELD~)
看板MacDev
標題[問題] object C語法一問
時間Thu Oct 21 16:14:56 2010
最近練習有關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
1F:→ ryanliang:用浮點數好像滿常出現這種情況的 我也想知道解決的方法 10/21 17:05
2F:→ ryanliang:感謝你提出來啊 !! 10/21 17:06
3F:→ roinla:囧rz~我後來找到了~用double就不會有這個問題了 10/21 17:52
4F:→ uranusjr:浮點數本來就會這樣, 你用 double 也不能保證永遠不會... 10/22 00:03
5F:→ yr:這就是二進位世界啊! 10/22 11:05
6F:推 ryanlei:float的準確度好像就是到十進位小數後第六位 10/22 12:57