禁用 NSTextField 的区域设置
我在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该使用
NSNumberFormatter
而不是+[NSString stringWithFormat:]
。事实上,使用 NSNumberFormatter 允许您:除其他功能外。
如果您的
NSTextField
位于 nib 文件中,Interface Builder/Xcode 4 允许您将formatter
出口链接到NSNumberFormatter
实例。您还可以通过将-setFormatter:
发送到文本字段来以编程方式执行此操作。You should be using
NSNumberFormatter
instead of+[NSString stringWithFormat:]
. In fact, usingNSNumberFormatter
allows you to:amongst other features.
If your
NSTextField
is in a nib file, Interface Builder/Xcode 4 allows you to link theformatter
outlet to anNSNumberFormatter
instance. You can also do it programatically by sending-setFormatter:
to the text field.