У меня возникли проблемы с переменной NSNumber «номер», который в настоящее время содержащей 0.522000003606Set Precision для значения NSNumber
Я посмотрел несколько других вопросов на StackOverflow с другими, имеющими тот же вопрос, но ничего. Мой проект в настоящее время использует ARC, поэтому я думаю, что некоторые функции недоступны, то есть, если я не откажу ARC в классе, в котором я сейчас хочу установить точность NSNumber.
Я понимаю NSNumberFormatter является основной функцией класса setPrecision я должен использовать, но я, имеющие проблемы ....
Everytime я использую NSNumberFormatter, он выплевывает обратно NULL !!!
nowValue = [now objectForKey:@"value"]; // This is what IM ACTUALLY DOING!!!
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setRoundingMode:NSNumberFormatterRoundHalfUp];
[formatter setFormatWidth:2];
NSString *string = [formatter stringFromNumber:num];
Я чувствую, что это СООО тривиально! Может ли кто-нибудь дать любительскому программисту какие-то советы? :)
EDIT:
Это то, что я делаю сейчас, используя NSDecimal, а не NSNumber. «Now» - это большой объект словаря, а nowValue - это копия num.
nowValue = (__bridge NSDecimal *)([now objectForKey:@"value"]);
Покажите нам код, в котором вы NSLog значение «Num» происходит в. –
NSDecimal является структурой, не является объектом, так что теперь я действительно очень смущенный. Обновите свой вопрос с помощью реального примера. Начните с NSNumber, инициализированного до 0.522000003606, затем материал форматирования, затем вывод, который НЕ является тем, кем вы хотите, и сообщите нам, на что вы хотите, чтобы точно выглядела строка. –
Какой тип объекта '[now objectForKey: @" value "]' действительно возвращается? Вы можете показать вывод 'NSLog (@"% @ ", [[now objectForKey: @" value "] class]'? - Обратите внимание, что любое литье или мост не изменяет объект вообще и поэтому не помогает. –