我刚进入雨燕的世界。
如何将一个带逗号的字符串转换为带小数点的字符串?
代码可以很好地使用点(.)
问题是当我使用逗号(,)...时:可变价格
问题的根源是十进制法语键盘使用逗号(,)而不是点(.)
不清楚如何使用NSNumberFormatter或generatesDecimalNumbers(如果它是键)。可能有多个选项。
//The answer change if "2,25" or "2.25" is used.
var price : String = "2,25"
var priceFloat = (price as NSString).floatValue
//I need to have 2.25 as answer.
var costString = String(format:"%.2f", priceFloat)
感谢您的时间和您的帮助!
6条答案
按热度按时间roejwanj1#
update:Xcode 8.2.1 · Swift 3.0.2您可以使用NumberFormatter()将字符串转换为数字,只需指定decimalSeparator,如下所示:
您还应该使用NumberFormat进行货币格式设置,因此创建一个只读计算属性currency extending FloatingPoint协议,以从String doubleValue属性返回格式化字符串。
x一个一个一个一个x一个一个二个一个x一个一个三个一个
5ktev3wc2#
您可以为此使用Swift 3:
w1e3prcc3#
f4t66c6m4#
可为空的扩展版本:
thigvfpy5#
接受答案的简化版本,出于安全原因,我还将numberFormatter设置为私有。
eimct9ow6#
编辑:更新以与当前版本的Swift配合使用: