Как напечатать двойное число с полной точностью на iOS?

Тестовый пример:

NSLog(@"%f", M_PI);
NSLog(@"%@", [NSString stringWithFormat:@"%f", M_PI]);
NSLog(@"%@", [NSNumber numberWithDouble:M_PI]);

Результаты:

3,141593
3,141593
3.141592653589793

Выводы:

1) Печать через NSLog () или [NSString stringWithFormat] обеспечивает очень низкую точность ...

2) Печать через [NSNumber numberWithDouble] обеспечивает лучшую точность ...

Я ожидал получить результат, намного более близкий к исходному значению: 3,14159265358979323846264338327950288 (как определено в math.h)

Есть подсказки?

28
задан Ariel Malka 20 April 2011 в 10:43
поделиться