Swift 如何使用E对双值进行舍入
我有一个数字,比如4.999999951E+001 我希望我能把这个数字四舍五入为5.000000000 E+001Swift 如何使用E对双值进行舍入,swift,rounding,Swift,Rounding,我有一个数字,比如4.999999951E+001 我希望我能把这个数字四舍五入为5.000000000 E+001 如何在不干扰指数部分的情况下操作双精度值。所有双精度值都有指数部分。不要被任何打印输出工件所迷惑,尤其是来自调试器输出的工件 Double有round和round方法,您可以这样使用它们 let value = 4.99999999951e+001 let rounded = value.rounded() // or other modes, e.g. .rounded(.to
如何在不干扰指数部分的情况下操作双精度值。所有双精度值都有指数部分。不要被任何打印输出工件所迷惑,尤其是来自调试器输出的工件
Double
有round
和round
方法,您可以这样使用它们
let value = 4.99999999951e+001
let rounded = value.rounded() // or other modes, e.g. .rounded(.toNearestOrAwayFromZero)
可以使用此扩展名对双值进行舍入
extension Double {
func roundTo(places: Int) -> Double {
let divisor = pow(10.0, Double(places))
return (self * divisor).rounded() / divisor
}
用法:
let v = 3.56789
v.roundTo(places: 1)
我几乎在每个项目中都使用它。尝试使用round()
func
var x = 3.7
x.round() output is // 4
用你目前掌握的相关代码更新你的问题。这些价值观从何而来?它们将如何使用/展示?