本地化问题?从Textfield中提取时以逗号修剪的数字

时间:2016-12-05 16:38:52

标签: swift macos cocoa

我有一个Mac应用程序试图从文本字段中获取数据 我通过使用3001来填充文本字段:

mytextfield.integerValue = 3001

然后在3,001的文本字段中显示该值。当我使用

提取它时
let numberResult = mytextfield.integerValue  //or mytextfield.doublevalue

它返回数字3(即逗号被舍入后的任何内容。)

如何正确地从文本字段中获取3001值?

以下是所要求的各种输出的示例:

print(mytextfield.integerValue) //3
print(mytextfield.intValue) //3
print(mytextfield.doubleValue) //3.0
print(mytextfield.stringValue) //3,001

1 个答案:

答案 0 :(得分:3)

将用户输入的字符串转换为数字的正确方法是使用NumberFormatter。这将正确处理特定于语言环境的分组和小数分隔符。

integerValuedoubleValue等方法不支持本地化或格式化值。