В настоящее время [NSDecimalNumber longLongValue]
, созданный со строкой @"9999999999999999"
, возвращает 10000000000000000
.
Это означает, что класс сначала преобразует свое значение в double
и повторно преобразует в SInt64
(signed long long
)
Как избежать такого поведения?Я хочу получить точное целое число в диапазоне SInt64
.
PS.Я подумывал о преобразовании в NSString
и повторном преобразовании в SInt64
с NSScanner
или strtoll
, но я считаю, что есть лучший способ.Но если вы уверены, что другого пути нет, скажите, пожалуйста.