首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Foundation的测量API执行自定义单元转换

使用Foundation的测量API执行自定义单元转换
EN

Stack Overflow用户
提问于 2019-05-16 15:44:30
回答 1查看 58关注 0票数 1

我有三个度量单位,我需要在它们之间进行转换,其中两个不是由Foundation提供的。Foundation提供的其中一个单元是UnitDispersion.partsPerMillion。另外两个单位是.millequivalentsPerLiterdegreesOfCarbonateHardness

我需要使用的数学如下:

1 meq/L = 2.8 dKH = 50 ppm

我尝试过子类Foundation.UnitConverter,但是我不知道如何使用baseUnitValue(fromValue value: Double) -> Doublevalue(fromBaseUnitValue baseUnitValue: Double) -> Double来创建正确的结果。

我需要子类Foundation.UnitConverter还是Foundation.UnitConverterLinear?是否需要为每个单元之间的转换创建一个UnitConverter子类?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-16 16:06:05

作为一项规则,您不需要子类UnitConverter。相反,您可以创建UnitConverterLinear的具体实例。例如:

代码语言:javascript
运行
复制
extension UnitDispersion {
    static let millequivalentsPerLiter =
        UnitDispersion(symbol: "meq/L",
                       converter: UnitConverterLinear(coefficient: 50))
}

let value = Measurement(value: 1, 
                        unit: UnitDispersion.millequivalentsPerLiter) // 1.0 meq/L
value.converted(to: .partsPerMillion) // 50.0 ppm
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56172256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档