/ / NSString do pływania z najlepszą możliwą precyzją — cel-c, xcode, zmiennoprzecinkowa

NSString do pływania z możliwie najlepszą precyzją - target-c, xcode, zmiennoprzecinkowe

Mam ciąg NSString, @"48.23456789" metoda floatValue daje mi "48.234568"

Czy istnieje sposób, aby to było bardziej precyzyjne?

Dziękuję za Twój czas !

Odpowiedzi:

6 dla odpowiedzi № 1

Spróbuj użyć doubleValue zamiast floatValue aby uzyskać dwa razy większą precyzję.


4 dla odpowiedzi nr 2

posługiwać się doubleValue. Jeszcze lepiej, użyj NSScanner:

NSScanner *scn = [NSScanner scannerWithString:@"3.14159265358979323846"];
double applePie;
[scn scanDouble:&applePie];

0 dla odpowiedzi № 3

W rzeczywistości mój problem wynikał ze sposobu, w jaki wydrukowałem swój float (lub podwójny).

Aby wydrukować precyzyjny float/double z NSLog. Użyj tego :

NSLog(@"float : %.8f", myFloat);

.8 określa liczbę cyfr po przecinku.