代码之家  ›  专栏  ›  技术社区  ›  Trombone0904

带有货币符号的自定义数字格式化程序

  •  2
  • Trombone0904  · 技术社区  · 7 年前

    enter image description here

    这几乎完美,但我对“格式”有一个问题。 .#.##

    3 回复  |  直到 7 年前
        1
  •  3
  •   Rajmund Zawiślak    7 年前

    对于静态解决方案,您只需从 .#.## .#.## €

    如果你在寻找通用的方法,你会对符号感兴趣 ¤ ,负责货币符号。

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

    最后一步是检查选项 lenient

    更多详细信息

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

    您可以在此版本中找到所有数字格式模式 here

    Apple documentation about number formatters

        2
  •  0
  •   nyg    7 年前

    您可以使用格式化程序提供的默认货币模式,还是需要进行其他自定义格式化:

    enter image description here

        3
  •  0
  •   Kingalione    7 年前

    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 €