ios - 将 float 限制为小数点后两位,并为 Swift 中的数字提供逗号分隔格式

标签 ios swift rounding

我在将 float 限制为小数点后两位以及在 Swift 中提供逗号分隔结果时遇到问题。我尝试过以下代码:

var myNum = 99.999999
myNum = (myNum * 100).rounded() / 100
print(myNum)
//Result : 100.0, Required_Result : 99.99



let formatted = String(format: "myNum: %.2f", myNum)
//Result : 100.00, Required_Result : 99.99

例如:1234.99999 的结果应为 1,234.99

对于逗号分隔和截断到小数点后两位,我使用:

 let numberFormatter = NumberFormatter()
 numberFormatter.maximumFractionDigits = 2
 numberFormatter.numberStyle = NumberFormatter.Style.decimal
 let formattedNumber = numberFormatter.string(from: NSNumber(value: number))
 return formattedNumber!

上面的代码给出了以下结果: 号码:9999.9984 结果:1,000.0 所需结果:9,999.99

最佳答案

使用NSNumberFormatter并相应地配置其舍入模式:

    let formatter = NumberFormatter()
    formatter.maximumFractionDigits = 2
    formatter.roundingMode = .down
    let s = formatter.string(from: 99.99999)
    print(s as Any) //99.99

关于ios - 将 float 限制为小数点后两位,并为 Swift 中的数字提供逗号分隔格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53941200/

相关文章:

swift - 我想调用 api 并同步获取值

c - 在 C 中创建 round_up(float) 函数时出错

objective-c - 当 NSString 的长度减少时,内存会被释放吗?还是我必须做更多的事情?

ios - 如何从 iOS 应用程序调用 WhatsApp 电话?

objective-c - 如何在我的快捷菜单栏应用程序中运行终端命令?

swift - 什么相当于 Kotlin 中的 Swift 的 fatalError()

以任意精度实现 ROUND_HALF_UP float 的 Pythonic 方法

python - 在 Python 中,整数除法中向零舍入的好方法是什么?

ios - 手势识别器并不总是被触发

ios processing.js准系统模板