我在swift 3中的Float变量中存储了一些值。但是当我实际使用变量中的这个值时,它会失去精度。我在操场上试了一下。它给出了我的最终输出: 152.399994而不是152.4(或152.40)
请考虑以下代码:
let feetToInchMultiplier: Float = 12
let inchToCentimeterMultiplier: Float = 2.54
func heightInCentimeters(_ feet: Float, inches: Float) -> Float {
//Convert in Centemeters
let totalInches: Float = (feet * feetToInchMultiplier) + inches
let centimeters: Float = totalInches * inchToCentimeterMultiplier
return centimeters
}
heightInCentimeters(5, inches: 0)
如果有人遇到此问题,请帮助我。提前谢谢。
答案 0 :(得分:0)
Float变量始终使用预定义精度返回标准浮点值,您必须手动更改要显示的精度。用下面的方法更改您的heightInCentimeters
方法,您将获得所需的优惠。
func heightInCentimeters(_ feet: Float, inches: Float) -> Float {
//Convert in Centemeters
let totalInches: Float = (feet * feetToInchMultiplier) + inches
let centimeters: Float = totalInches * inchToCentimeterMultiplier
return Float(String(format: "%.2f",centimeters))!
}