swift: Problem beim Konvertieren eines Strings nach double
Hier ist ein einfacher Code in Xcode 7.3.1 Spielplatz:
var str = "8.7" print(Double(str))
die Ausgabe ist überraschend:Optional(8.6999999999999993)
ebenfalls,Float(str)
gibt:8.69999981
Irgendwelche Gedanken oder Gründe zu diesen Jungs? Hinweise darauf wären willkommen.
Auch, wie soll ich dann "8.7" nach 8.7 als Double (oder Float) konvertieren?
Bearbeite
in swift:
(str als NSString) .doubleValue gibt 8.7 zurück
Now, das ist ok. Aber meine Frage wird immer noch nicht vollständig beantwortet. Wir haben eine Alternative gefunden, aber warum können wir uns nicht auf Double ("8.7") verlassen. Bitte geben Sie einen tieferen Einblick in diese.
Edit 2
("6.9" als NSString) .doubleValue // druckt 6.9000000000000004
So öffnet sich die Frage wieder.