NSNumberFormatter и SpellOutStyle со значениями с плавающей запятой - PullRequest
0 голосов
/ 10 июня 2009

Я пытаюсь визуализировать значение с плавающей запятой, используя SpellOutStyle NSNumberFormatter, но результаты неудовлетворительные, и я до сих пор не смог найти решение. Проблема в том, что при задании значения с плавающей запятой, такого как 3.2, NSNumberFormatterSpellOutStyle отображает его примерно так: «три точки два ноль ноль ноль ноль ноль четыре семь шесть восемь три семь два».

При использовании SpellOutStyle установка свойств roundingMode или maximumFractionDigits, похоже, не оказывает никакого влияния.

Вот пример того, как я запускаю код:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterSpellOutStyle];
NSNumber *numberValue = [NSNumber numberWithFloat:3.2];

NSLog(@"Number: %@", [numberFormatter stringFromNumber:numberValue]);
// Outputs three point two zero zero zero zero zero zero ...

[numberFormatter release];

Есть идеи?

1 Ответ

2 голосов
/ 10 июня 2009

Проблема в том, что поплавки неточны. Попробуйте изменить строку 3 на:

NSNumber *numberValue = [NSNumber numberWithDouble:3.2];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...