我存儲浮點數在我的SQLite(通過核心數據)這樣的:iPhone - 商店浮SQLite中通CoreData
unit.conversion = [NSNumber numberWithFloat:0.001];
當我看到SQLite數據庫值0.0010000000474974513
unit.conversion是我的datamodel中的一個可選浮點數...
這是什麼問題?
感謝
我存儲浮點數在我的SQLite(通過核心數據)這樣的:iPhone - 商店浮SQLite中通CoreData
unit.conversion = [NSNumber numberWithFloat:0.001];
當我看到SQLite數據庫值0.0010000000474974513
unit.conversion是我的datamodel中的一個可選浮點數...
這是什麼問題?
感謝
鑑於你所看到的事實是正確的(正如已經回答的)並且你對此不滿意:你可以使用NSDecimalNumber。提供快速谷歌搜索:
NSDecimalNumber讓你做小數運算怎麼樣金融機構會希望你做數學。 警告:因爲所有的數學運算符都是消息,所以使用起來有點令人討厭。
浮點數是不是(總是)精確作品 - 它們是近似值。
請參閱What Every Computer Scientist Should Know About Floating-Point Arithmetic的背景。
感謝您的解釋,但我還需要一個解決方案 – ncohen 2010-09-21 22:56:20
0.001和你在數據庫中的價值,大多數情況下,是相同的事情,因爲上面的鏈接可能解釋。作爲一種解決方案,您會期望什麼? – mrueg 2010-09-21 23:01:11
問題是,當我要做一些乘法運算時,我會得到具有奇怪值的浮點數... – ncohen 2010-09-21 23:12:53