當前,用字符串@"9999999999999999"
創建的[NSDecimalNumber longLongValue]
返回10000000000000000
。將「NSDecimalNumber」轉換爲「SInt64」而不會丟失精確度。 (在SInt64,iOS的範圍內)
這意味着該類轉換它的價值double
第一,並重新轉換成SInt64
(signed long long
)
如何規避這種行爲?我想要在SInt64
範圍內得到精確的整數。
PS。 我考慮轉換爲NSString
並重新轉換爲SInt64
與NSScanner
或strtoll
,但我相信有更好的方法。但如果你確定沒有別的辦法,請告訴我。
感謝您的回答! #2似乎比#1更快。然而,#1是更好的方式,因爲你提到:) – Eonil 2010-11-09 04:49:42