This question already has an answer here:
Custom measurement unit
(1个答案)
上个月关门了。
是否有可能为现有的苹果类转换添加更多的转换单元?
https://developer.apple.com/documentation/foundation/unittemperature
以上链接上的Rankine不可用。如何自定义/扩展这个类并添加Rankine?
PS.Rankine样品配方为:
是的。计划用这种方式
短暂性脑缺血发作
(1个答案)
上个月关门了。
是否有可能为现有的苹果类转换添加更多的转换单元?
https://developer.apple.com/documentation/foundation/unittemperature
以上链接上的Rankine不可用。如何自定义/扩展这个类并添加Rankine?
PS.Rankine样品配方为:
5°C × 9/5 + 491.67 = 500.67°R
是的。计划用这种方式
let celsius = Measurement(value: 4, unit: UnitTemperature.celsius)
let kelvins = celsius.converted(to: UnitTemperature.kelvin)
print(kelvins)
短暂性脑缺血发作
最佳答案
只需遵循Dimension
中的文档,它是UnitTemperature
的超类。UnitTemperature
的基本单位是开尔文。所以我只需要查一下把Rankine转化为Kelvin的公式,这只是一个线性系数(degreesKelvin = degressRakine * 5/9
),然后把它插入:
extension UnitTemperature {
static var rankine = UnitTemperature(
symbol: "°R",
converter: UnitConverterLinear(coefficient: 5/9)
)
}
let celsius = Measurement(value: 5, unit: UnitTemperature.celsius)
let rankin = celsius.converted(to: .rankine)
print(rankin) // => 500.66999999999996 °R
10-08 05:35