4
我使用KeyboardType = UIKeyboardTypeDecimalPad
,在某些电话上,您在左下角看到“,”而不是“。”。这取决于手机的语言设置!随着“。”版本一切工作正常,当我使用[NSNumber numberWithFloat:[textField.text floatValue]],但与“,”版本2.0说2.5。有人知道工作吗?将NSString转换为特定于语言环境的NSNumber
我使用KeyboardType = UIKeyboardTypeDecimalPad
,在某些电话上,您在左下角看到“,”而不是“。”。这取决于手机的语言设置!随着“。”版本一切工作正常,当我使用[NSNumber numberWithFloat:[textField.text floatValue]],但与“,”版本2.0说2.5。有人知道工作吗?将NSString转换为特定于语言环境的NSNumber
您需要进行本地感知字符串转换,根据默认语言环境正确对待“2.5”和“2.5”。尝试:
NSNumber *num=[NSDecimalNumber decimalNumberWithString:textField.text];
从NSDecimalNumber Class Reference:
无论NSDecimalSeparator是 期间(如被使用,例如,在 美国)或逗号(如 使用,例如,在法国)取决于默认语言环境 。
感谢您的咨询! - [NSDecimalNumber decimalNumberWithString:textField.text locale:[NSLocale currentLocale]]帮助:) – 2011-01-05 10:53:09
额外的建议!如果您想稍后更改文本字段的值,则应该使用[NSString localizedStringWithFormat:...],以便正确显示。 – 2011-01-05 11:00:35