Подавление ненужных нулей - PullRequest
1 голос
/ 30 января 2011

Я хотел бы сделать строку с stringWithFormat из двойного значения, без ненужного нуля в конце.

Примеры:

  1. [NSString stringWithFormat:@"%.8f",2.344383933];

  2. [NSString stringWithFormat:@"%.8f",2.0];

ожидаемые результаты:

  1. 2.344383933

  2. 2

Какой правильный формат?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 19 марта 2016

Существует специальный класс для форматирования чисел, NSNumberFormatter:

let formatter = NSNumberFormatter()
formatter.maximumFractionDigits = 8

print("\(formatter.stringFromNumber(2.344383933))")
print("\(formatter.stringFromNumber(2.0))")

NSNumberFormatter также принесет локализацию (десятичные точки, разделители групп).

0 голосов
/ 28 июля 2015

Использование NSNumberFormatter

[numberFormatter numberFromString:[NSString stringWithFormat:@"%.8f",0]]

Образец:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];

NSLog(@"1: %@",[numberFormatter numberFromString:[NSString stringWithFormat:@"%.8f",2.344383933]]);
NSLog(@"2: %@",[numberFormatter numberFromString:[NSString stringWithFormat:@"%.8f",2.0]]);

Результаты:

1: 2.344383933

2: 2

...