禁用 NSTextField 的区域设置

发布于 2024-11-16 05:51:52 字数 432 浏览 1 评论 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]];

文本字段的类型为 NSTextField

谢谢!

I have a problem with NSTextField in Cocoa. Is there a way to remove regional settings from a NSTextField

I want the user to only enter values like so 0.6, 0.7 but if the user is not from US he is forced to enter like this 0,6, 0,7

So if the user is not US user if he enters 0.7 [textField floatValue] will return 0
and if the user is US and he enters 0,7 [textField floatValue] will return 0

Well lets say that is something i can accept but then i want to format the value and display it only with 3 decimals

this will work for US but will not work for non US even though value is a correct float (eg 0.3)
[textField setStringValue:[NSString stringWithFormat:@"%.3f",value]];

textfield is of type NSTextField

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

薔薇婲 2024-11-23 05:51:52

您应该使用 NSNumberFormatter 而不是 +[NSString stringWithFormat:]。事实上,使用 NSNumberFormatter 允许您:

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

除其他功能外。

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

You should be using NSNumberFormatter instead of +[NSString stringWithFormat:]. In fact, using NSNumberFormatter allows you to:

  • Configure the minimum and maximum number of digits after the decimal separator;
  • Configure the string that’s used as the decimal separator in case you want to override the user’s locale;
  • Configure the rounding behaviour, if that’s important;

amongst other features.

If your NSTextField is in a nib file, Interface Builder/Xcode 4 allows you to link the formatter outlet to an NSNumberFormatter instance. You can also do it programatically by sending -setFormatter: to the text field.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文