快速舍入数字

ACR*_*ACR 2 rounding swift

在Swift中,我需要能够根据它们的值对数字进行舍入.如果一个数字是整数,后面只有".0",我需要将它转换为一个整数,如果数字后面的数字大于2位,我需要将它四舍五入为2位数.

例如:

1.369352 --> 1.37
7.75     --> 7.75  
2.0      --> 2  
Run Code Online (Sandbox Code Playgroud)

如何根据这些规则检查我的号码并围绕它们?

Mar*_*ark 5

这样的事情应该是好的吗?

func formatNumber (number: Double) -> String? {

    let formatter = NSNumberFormatter()
    formatter.maximumFractionDigits = 2

    let formattedNumberString = formatter.stringFromNumber(number)
    return formattedNumberString?.stringByReplacingOccurrencesOfString(".00", withString: "")

}

formatNumber(3.25) // 3.25
formatNumber(3.00) // 3
formatNumber(3.25678) // 3.26
Run Code Online (Sandbox Code Playgroud)

  • 很好地利用了这个数字.您可能想要检查小数分隔符,因为它可能不总是一个周期点. (2认同)