小数位值在 swift 中不起作用
decimal place value not working in swift
我不太确定我做错了什么。我有一个双:
let distanceInMiles = distanceInMeters/1609.344
结果是 2.99685063032388e-09
但是我想把数字四舍五入到小数点后一位,所以我这样做:
let miles = String(format: "%.1f", distanceInMiles)
但是当我打印出来时,miles = 0.0。小数位有效,但它将我的数字变成 0 而不是 2.9
2.99685063032388e-09
不等于2.9
,是0.00000000299685063032388
http://www.wolframalpha.com/input/?i=2.99685063032388e-09
实际上有一种很酷的方法可以做到这一点,即使用指数格式说明符而不是浮点数。 (来自这个列表 https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html)
let miles = String(format: "%.1e", distanceInMiles)
我不太确定我做错了什么。我有一个双:
let distanceInMiles = distanceInMeters/1609.344
结果是 2.99685063032388e-09
但是我想把数字四舍五入到小数点后一位,所以我这样做:
let miles = String(format: "%.1f", distanceInMiles)
但是当我打印出来时,miles = 0.0。小数位有效,但它将我的数字变成 0 而不是 2.9
2.99685063032388e-09
不等于2.9
,是0.00000000299685063032388
http://www.wolframalpha.com/input/?i=2.99685063032388e-09
实际上有一种很酷的方法可以做到这一点,即使用指数格式说明符而不是浮点数。 (来自这个列表 https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html)
let miles = String(format: "%.1e", distanceInMiles)