Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 禁用NSTextField的区域设置_Cocoa_Macos_Nstextfield_Regional Settings - Fatal编程技术网

Cocoa 禁用NSTextField的区域设置

Cocoa 禁用NSTextField的区域设置,cocoa,macos,nstextfield,regional-settings,Cocoa,Macos,Nstextfield,Regional Settings,我对Cocoa中的NSTextField有问题。有没有办法从NSTextField中删除区域设置 我希望用户只输入0.6,0.7这样的值,但是如果用户不是我们的用户,他将被迫这样输入0,6,0,7 因此,如果用户不是美国用户,则输入0.7[textField floatValue]将返回0 如果用户是我们,他输入0,7[textField floatValue]将返回0 好吧,假设这是我可以接受的,但是我想格式化这个值,并且只显示3个小数 这对我们有效,但对非我们有效,即使值是正确的浮动(例如0

我对Cocoa中的NSTextField有问题。有没有办法从NSTextField中删除区域设置

我希望用户只输入0.6,0.7这样的值,但是如果用户不是我们的用户,他将被迫这样输入0,6,0,7

因此,如果用户不是美国用户,则输入0.7[textField floatValue]将返回0 如果用户是我们,他输入0,7[textField floatValue]将返回0

好吧,假设这是我可以接受的,但是我想格式化这个值,并且只显示3个小数

这对我们有效,但对非我们有效,即使值是正确的浮动(例如0.3) [textField setStringValue:[NSString stringWithFormat:@“%.3f”,value]

textfield的类型为NSTextField

谢谢大家!

您应该使用而不是
+[nsstringwithformat:
。事实上,使用
NSNumberFormatter
可以:

  • 配置小数点分隔符后的最小和最大位数
  • 配置用作小数分隔符的字符串,以防覆盖用户的区域设置
  • 配置舍入行为(如果这很重要)
在其他功能中

如果
NSTextField
位于nib文件中,则Interface Builder/Xcode 4允许您将
formatter
出口链接到
NSNumberFormatter
实例。您还可以通过将
-setFormatter:
发送到文本字段以编程方式执行此操作