MetricPrefixNumberFormatter 是一个 NSNumberFormatter
子类,用于使用 公制单位前缀 来格式化大数和小数。这是一个必备库,如果您应用程序显示可能很大的数字(如视图数量、点赞等),或者涉及可能涉及非常小数字的计算。
1200 -> 1.2 k
12300000 -> 12.3 M
0.0017 -> 1.7 m
主要功能
- 支持所有公制前缀:从 yotta (10^24) 到 yocto (10^-24)。
- 可通过
localizationDictionary
属性进行本地化。 - 可配置单位和分隔符。
示例
// 1122300 -> 1.12 M
let nf = MetricPrefixNumberFormatter()
nf.minimumFractionDigits = 2
nf.stringWithMetricPrefix(from: 1122300)
// 0.001 -> 1 mA
let nf = MetricPrefixNumberFormatter()
nf.unit = "A"
nf.stringWithMetricPrefix(from: 0.001)
// 1200 -> 1.2KV
let nf = MetricPrefixNumberFormatter()
nf.unit = "V"
nf.delimiter = ""
nf.stringWithMetricPrefix(from: 1200)
由于 MetricPrefixNumberFormatter
是 NSNumberFormatter
的子类,因此可以通过与 NSNumberFormatter
相同的方式配置其输出。在使用 minimum/maximumSignificantDigits
、minimum/maximumFractionDigits
和 usesSignificantDigits
属性设置 NSNumberFormatter
输出时,下面由 @samwize 撰写的指南提供了很好的概述:本指南。
您还可以查看提供的示例 iOS 应用,该应用展示了 MetricPrefixNumberFormatter
如何格式化各种数字。
$ pod try MetricPrefixNumberFormatter
要求
- iOS 8+
- Xcode 10 / Swift 4.2 以及更高版本
使用 CocoaPods 安装
pod 'MetricPrefixNumberFormatter', '~> 1.0.0'
许可证
MetricPrefixNumberFormatter 可在 MIT 许可下使用。有关更多信息,请参阅 LICENSE 文件。