gpt4 book ai didi

swift - 在 Swift 中向MeasurementFormatter添加额外的unitOptions

转载 作者:行者123 更新时间:2023-11-30 12:54:43 27 4
gpt4 key购买 nike

是否可以快速将自定义单位选项添加到MeasurementFormatter?我希望能够定义诸如 .imperial 和 .metric之类的

extension UnitEnergy {
static let footPounds = UnitEnergy(symbol: "ft-lbs", converter: UnitConverterLinear(coefficient: 1))
}

var test = Measurement<UnitEnergy>( value: 10, unit: .footPounds)
var formatter = MeasurementFormatter()

formatter.locale = Locale(identifier: "es")

print( formatter.unitOptions )

print( formatter.string(from: test))

formatter.unitOptions = .naturalScale
print( formatter.unitOptions )

print( formatter.string(from: test))

formatter.unitOptions = .providedUnit
print( formatter.unitOptions )

print( formatter.string(from: test))

输出:

UnitOptions(rawValue: 0)
10 J
UnitOptions(rawValue: 2)
2,39 cal
UnitOptions(rawValue: 1)
10 ft-lbs

最佳答案

您当然可以创建自己的类,该类将采用英制和公制单位选项,并使用按您期望和期望运行的区域设置来调用测量格式化程序。这是最简单的方法,并且可以按照您的预期工作。使用 en_US 和 en_AU 的效果符合我的预期,并且希望它能达到这个目的。

更多信息和指南请参见:Introduction to MeasurementFormatter .

关于swift - 在 Swift 中向MeasurementFormatter添加额外的unitOptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40558049/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com