ios - iOS MeasurementFormatter中的零符号

标签 ios swift user-experience nsnumberformatter measurementformatter

使用MeasurementFormatter时,我在声明/使用零符号表示未知值时遇到问题:

let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .decimal
numberFormatter.zeroSymbol = "?"

numberFormatter.string(from: 0.0) // '?'

let formatter = MeasurementFormatter()
formatter.unitOptions = .providedUnit
formatter.numberFormatter = numberFormatter

var distance = Measurement<UnitLength>(value: 0, unit: .parsecs)
formatter.string(from: distance) // '0 pc' - expected: '? pc'

尝试使用不同的值声明(例如Double.zero)不会更改输出。
这是iOS中的概念性事情,还是我在这里遗漏了一些东西?

最佳答案

It turned out通过更改Measurement声明(distance)产生所需的输出:

let dist1 = Measurement<UnitLength>(value: 0, unit: .parsecs) // output: '0 pc'
let dist2 = Measurement(value: 0, unit: Unit(symbol: UnitLength.parsecs.symbol)) // output '? pc' as expected

提交了radar

关于ios - iOS MeasurementFormatter中的零符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61542247/

相关文章:

ios - 使用Swift/Firebase/Microsoft处理登录

ios - 在 Xcode 10 中为企业分发时代码签名框架失败

swift - Xcode 6.1 Swift 扩展 - SourceKit 服务崩溃

localization - 省略号 (...) 如何本地化?

css - 相同的@media 不适用于不同的站点

ios - 如何隐藏/禁用 UISearchBar 范围栏

html - 当我在 Expo (iOS) 中使用 Print API 打印 html 时,html 中的分页符无法按预期工作

ios - UICollectionView 在较小的设备上导致 "UICollectionViewFlowLayoutBreakForInvalidSizes"

ios - 如何加载UITabBarController的所有选项卡?

cocoa - 删除控件在我的 Cocoa 用户界面中位于哪里?