2017-06-21 5 views
0

ここで間違っていることはわかりません。私はダブルを持っている:小数点以下の桁の値がスウィフトで機能しない

let distanceInMiles = distanceInMeters/1609.344と結果が2.99685063032388e-09

です。しかし、私は小数点以下1桁に数値を四捨五入したいので、私はこれを行う:

let miles = String(format: "%.1f", distanceInMiles) 

しかし、ときに私はマイルを、それをプリントアウト= 0.0。小数点以下の桁数が動作しますが、それは2.9

答えて

2

2.99685063032388e-09の代わりに0に私の電話番号を回す2.9に等しくない場合、それがこれを行うにはクールな方法は、指数を使用して、実際にはあり0.00000000299685063032388

http://www.wolframalpha.com/input/?i=2.99685063032388e-09

ですfloatの代わりに書式指定子を使用します。 (このリストからhttps://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html

let miles = String(format: "%.1e", distanceInMiles) 
+0

まあまあ、あなたは完全に正しいです!私は指数を完全に無視しました – juelizabeth

+0

@juelizabethは実際に2小数点+指数を印刷したい場合に別のスニペットを追加しました。 – bjtitus

+0

ありがとうございます!それは多くを助けた – juelizabeth

関連する問題