2010-11-25 5 views
0

Hallo dort Ich habe eine Zeichenfolge etwas wie "3.1600559280405984", die ein Breitenwert ist. Wenn ich dies in einen Float-Wert konvertieren möchte, um einer Annotation/Koordinate zuzuweisen, gibt der floatValue des Strings trunked 3.160056 zurück. Wie kann ich den vollständigen Float erhalten, ohne die Dezimalzahlen zu verlieren? Oder gibt es eine andere Möglichkeit, Zeichenfolgen Koordinaten zuzuweisen?iphone; Konvertieren von Lat, langen Strings in Floats - oder eine andere Methode?

Dank

Antwort

1

Die float hat mehr Präzision als das. Es wird nur mit weniger Dezimalstellen angezeigt.

Sie könnten printf oder eine Objective-C-Entsprechung verwenden, um es mit mehr Dezimalstellen zu drucken. Beachten Sie, dass einige davon aufgrund von binären Fließkomma-Problemen falsche Genauigkeit haben können.

Sie können double für ein bisschen mehr Präzision verwenden.

Beachten Sie auch, dass Ihre Eingabe wahrscheinlich mit falscher Genauigkeit beginnt.

Verwandte Themen