使用新的 NSNumbeFormatter 时遇到问题

Posted

技术标签:

【中文标题】使用新的 NSNumbeFormatter 时遇到问题【英文标题】:Trouble using new NSNumbeFormatter 【发布时间】:2015-10-13 23:25:03 【问题描述】:

我有一个应用程序,它在 TextField 中读取导入,然后使用处理它

let number = NSNumberFormatter().numberFromString(numberString)
if let number = number 
    let floatValue = Float(number)

虽然我正在使用使用逗号作为小数分隔符的区域格式(如意大利或德国),但一切正常(我可以写 17,80 或 17.80,它们都可以)。当我使用使用点作为小数点分隔符的区域格式(如美国)时,当我使用点作为小数点分隔符时 (17.80) 可以,但如果我使用逗号 (17,80) 应用程序崩溃!

我该如何解决?

【问题讨论】:

科林说得对,我的问题是想明白这个问题的原因,我还没问怎么把带逗号的字符串转换成带小数的字符串! 【参考方案1】:

查看字符串并将其更改为您知道的任何格式(例如,使其始终使用小数分隔符)不会导致问题成为一个可行的解决方法吗?

【讨论】:

最好的办法是了解为什么某些区域格式逗号有效而其他崩溃。否则,可以检查 TextField.text 是否包含逗号并将其替换为点。 我同意——最好的办法肯定是了解根本原因并以这种方式解决它。因此,为什么我说替换字符将是“修复”而不是“解决方案”。

以上是关于使用新的 NSNumbeFormatter 时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

在新的 MacBook Air M1 上安装 Pandas 时遇到问题 [关闭]

使用 Angular 在按钮单击时添加新的下拉菜单

使用新的 Unity SDK 和集成时未收到 Facebook cookie

清空队列时遇到问题

不会使用新的 xCode 旋转

Seg Fault 创建新的 QTcpSocket