带有货币符号的自定义数字格式化程序
custom number formatter with currency symbol
我有一个文本字段,用户应该在其中输入价格。
在此文本字段上,我使用以下设置拖动了自定义数字格式化程序:
这工作近乎完美,但我对 "Format" 有疑问。
目前是:.#.##
但是我必须更改什么才能在最后自动显示正确的用户货币符号?
您也可以像这样使用数字格式化程序:
let price = 592.12
let formatter = NumberFormatter()
formatter.numberStyle = .currency
//change this to get your desired currency
formatter.locale = Locale(identifier: "de_DE")
formatter.maximumFractionDigits = 0;
let priceText = formatter.string(for: price)
//priceText = 592,12 €
对于静态解决方案,您只需将格式从 .#.##
更改为 .#.## €
如果您正在寻找通用的方法,您会对符号 ¤
感兴趣,它负责货币符号。
所以你要找的格式是,#.## ¤
最后一步是检查选项 lenient
,否则您需要在文本字段中提供完整格式。
更多详情
自 OSX 10.9 和 iOS 7 以来,格式字符串使用来自 the Unicode Technical Standard #35 of version 31.
的模式
您可以在此版本中找到所有数字格式模式here
能否使用格式化程序提供的默认货币模式,还是需要进行额外的自定义格式化:
我有一个文本字段,用户应该在其中输入价格。 在此文本字段上,我使用以下设置拖动了自定义数字格式化程序:
这工作近乎完美,但我对 "Format" 有疑问。
目前是:.#.##
但是我必须更改什么才能在最后自动显示正确的用户货币符号?
您也可以像这样使用数字格式化程序:
let price = 592.12
let formatter = NumberFormatter()
formatter.numberStyle = .currency
//change this to get your desired currency
formatter.locale = Locale(identifier: "de_DE")
formatter.maximumFractionDigits = 0;
let priceText = formatter.string(for: price)
//priceText = 592,12 €
对于静态解决方案,您只需将格式从 .#.##
更改为 .#.## €
如果您正在寻找通用的方法,您会对符号 ¤
感兴趣,它负责货币符号。
所以你要找的格式是,#.## ¤
最后一步是检查选项 lenient
,否则您需要在文本字段中提供完整格式。
更多详情
自 OSX 10.9 和 iOS 7 以来,格式字符串使用来自 the Unicode Technical Standard #35 of version 31.
的模式您可以在此版本中找到所有数字格式模式here
能否使用格式化程序提供的默认货币模式,还是需要进行额外的自定义格式化: