作者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