我的浮点值以.0或.5结尾(例如10.0或10.5)。如果它以.0结尾,我想消除尾随零。在Swift中最简单的方法是什么?
func myFunction() {
var string = pickerData[picker.selectedRowInComponent(0)]
var float = ((string as NSString).floatValue - 45) / 2
label.text = float.description
}
答案 0 :(得分:6)
您应该使用NSNumberFormatter()格式化数字,如下所示:
extension Double {
var formatted:String {
let formatter = NSNumberFormatter()
formatter.numberStyle = NSNumberFormatterStyle.DecimalStyle
// you can set the minimum fraction digits to 0
formatter.minimumFractionDigits = 0
// and set the maximum fraction digits to 1
formatter.maximumFractionDigits = 1
return formatter.stringFromNumber(self) ?? ""
}
}
10.5.formatted // "10.5"
10.0.formatted // "10"
在你的情况下,它看起来像这样:
label.text = float.formatted