iOS Swift:消除CGFloat的尾随零

时间:2015-01-27 02:25:11

标签: ios swift

我的浮点值以.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
}

1 个答案:

答案 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