ios - 将千位分隔符 "˙"添加到 float

标签 ios string swift nsnumber nsnumberformatter

我正在处理从 0.00 到 9999.99 的数字范围。 我需要添加“˙”千位分隔符,所以 1300,00 应该变成 1˙300,00。 NSNumberFormatter 使用“,”作为分隔符,所以它对我不利。

我试过用

func formatNumber (i: Float) -> String {
    var counter = 0
    var correctedNumber = ""

    if i > 999 {
        for char in "\(i)".characters {
            if counter == 1 {
                correctedNumber += "˙" + "\(char)"
            } else {
                correctedNumber += "\(char)"
            }

            counter++
        }
    } else {
        correctedNumber = "\(i)"
    }

    return correctedNumber
}

但它不能格式化小数。

正确的做法是什么?

最佳答案

您只需要正确配置 NSNumberFormatter

let formatter = NSNumberFormatter()
formatter.groupingSeparator = "˙"
formatter.decimalSeparator = ","
formatter.usesGroupingSeparator = true
formatter.minimumFractionDigits = 2

测试

formatter.stringFromNumber(1300) // "1˙300,00"

关于ios - 将千位分隔符 "˙"添加到 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34480974/

相关文章:

使用 libxml2 和 hpple 解析 iPhone html

ios - 渲染到纹理,然后在 iOS 中将纹理渲染到屏幕

ios - dequeueReusableCellWithReuseIdentifier : and cellForItemAtIndexPath: 之间的区别

C 程序可以在命令行中运行,但不能在 Python 脚本中运行?

javascript - 执行 javascript 时不支持的返回类型

python - 如何在 python 中将字符串转换为源代码?

javascript - 在 JavaScript (Node.js) 中读取数字?

json - Realm 与 swift : don't update a column after first load

ios - 居中 UITextField

ios - 在此示例中,为什么布局引擎会启动?