繁体   English   中英

Swift:使用本地化的百万和十亿文本格式化货币

[英]Swift: Formatting currencies with localized million and billion text

我正在开发一个显示大数字货币的应用程序。 为了使其更加用户友好,最好用字母显示数字,例如:

$24,514,983,671 -> $24.5B // 英文
3,306,777.10 € -> 3,31 Mio。 € // 德语
kr 23 000 000 -> kr 23 磨。 // 挪威语

这些数字应该有 minimumSignificantDigits = 1 和 maximumSignificantDigits = 3。

这应该如何在 Swift 中解决? 有可用的图书馆吗?

安卓有这个解决方案

它似乎基于 swift-corelibs-foundation: Github ,但我看不到如何在我的应用程序中使用它。

我是否必须自己使用本地化翻译来制作逻辑? 我在这里找到了对大数使用通用缩写 K/M/B 的答案: iOS convert large numbers to small format ,但它并没有解决整个问题。

您将不得不实施自己的解决方案,但这并不难。 一种方法是创建两个字典,其中键是区域设置标识符,值是翻译:

let millionTrans = [ "en_US" : "million", ...]
let billionTrans = [ "en_US': "billion", ...]

然后获取Locale.current ,找出金额是数百万还是数十亿并查询相应的字典以获取其值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM