3 回答
TA贡献1829条经验 获得超13个赞
SO Answer的潜在重复,使用NSNumberFormatter
Swift示例:
let number = NSNumberFormatter().numberFromString(numberString)
if let number = number {
let floatValue = Float(number)
}
示例(目标-C):
NSNumber *number = [[NSNumberFormatter new] numberFromString: numberString];
float floatValue = number.floatValue;
TA贡献1829条经验 获得超9个赞
没有人真正直接解决过这个问题。
也就是说,十进制分隔符是语言环境的约定。
iOS支持根据特定语言环境格式化数字。
如果您仅在给定的语言环境中工作,那么一切都应该正常工作。键盘应接受带有正确小数点分隔符的数字。
例如,如果您在欧洲的大多数国家/地区,则需要输入逗号作为小数点分隔符。在这些国家/地区输入点是错误的。这些国家之一的人不会这样做,因为这是错误的小数点分隔符。欧洲用户将知道使用逗号作为小数点分隔符,而您无需执行任何操作。
如果您在美国,则需要使用句点。在美国使用逗号将是错误的。
显示十进制数字的方式是使用数字格式器。创建数字格式化程序时,默认情况下它将使用当前语言环境。
如果需要将包含十进制数字的字符串从一种语言环境转换为另一种语言环境,则应使用2个数字格式器。在源语言环境中使用格式化程序将字符串转换为浮点数。然后,使用带有目标语言环境的格式化程序,将数字转换为输出格式的字符串。
只需在默认的当前语言环境中创建一个数字格式化程序,然后创建第二个数字格式化程序并将其语言环境显式设置为您要使用的另一种语言环境即可。
- 3 回答
- 0 关注
- 1112 浏览
添加回答
举报