首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSNumberFormatter货币:"plusSign“代替货币

NSNumberFormatter货币:"plusSign“代替货币
EN

Stack Overflow用户
提问于 2019-07-27 12:10:38
回答 1查看 159关注 0票数 2

在Swift中配置NSNumberFormatter时,如下所示:

代码语言:javascript
复制
extension NumberFormatter {
    convenience init(currencyCode code: String) {
        self.init()
        numberStyle = .currency
        locale = .autoupdatingCurrent
        maximumFractionDigits = 2
        positivePrefix = plusSign
        currencyCode = code
        minimumFractionDigits = 2
    }

它适用于货币符号位于末尾的地区,例如de_DE12345变成+1.234,00 €。但对于de_AT来说,它变成了+1.234,00 --如果没有positivePrefix,它就是€ 1.234,00;我怎么能总是在前面(+和-)显示标志,但仍然保留货币?

编辑:

我预计这个测试会失败(因为货币缺失),但它成功了:

代码语言:javascript
复制
currencyFormatter.locale = Locale(identifier: "de_AT")
XCTAssertEqual(currencyFormatter.string(from: NSNumber(value: 0)), "+0,00")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-27 13:14:48

原来会计是你的救星,改变数字风格

代码语言:javascript
复制
numberStyle = .currencyAccounting

你就能得到你期望的产出

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57232013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档