2017-09-14 74 views
1

我有一个文本字段,用户应输入一个价格。 在这个文本字段我拖着一个自定义数字格式化这个设置:自定义数字格式化程序与货币符号

enter image description here

此作品近乎完美,但我有一个“格式”的问题。 现在是这样的:.#.##

但是我必须改变才能在最后自动显示正确的用户货币符号?

回答

3

对于静态的解决方案,你可以简单地从.#.##更改格式.#.## €

如果你正在寻找通用的方式来做到这一点,你对符号¤感兴趣,它负责货币符号。

所以这是你要找的格式为,#.## ¤

最后一步是检查选项lenient,否则你需要提供的文本字段全格式。

更多细节

由于OSX 10.9和iOS 7的格式字符串使用来自的version 31the Unicode Technical Standard #35图案。

你可以找到在这个版本here

Apple documentation about number formatters

+0

是的,这是静态的解决方案。但是如果用户有$而不是€? – Ghost108

+0

那么你在寻找什么是在故事板的最后印刷符号的通用机制? – Raymond

+0

是的,如果这是可能的。我跳了一个像'。#。##。的占位符。 [货币符号]' – Ghost108

0

您可以用数字格式也是这样:

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 € 
+0

是的,编程方式是我知道的解决方案。但是还有一种方法可以通过故事板设置来解决它吗? – Ghost108

+0

我不认为这是可能的故事板。 – Kingalione

+0

当然可以在故事板中使用。 – Raymond

0

您可以使用格式提供的默认货币方式或做你需要做更多的自定义格式的所有数字格式的模式:

enter image description here