Fork me on GitHub

在代码中使用度量单位,从而生活更美好

在我们的应用软件中,涉及到物理化学计算时,只有 Frink 、F#、Modelica 少数语言变量是自带单位的,大部分语言变量仅包含数值,单位转换需要在变量进行公式计算之前完成,计算后再把结果单位转换为输出单位,单位转换主要通过若干常数实现。这带来了两个问题:

  1. 大量常数降低代码可读性和维护性;
  2. 计算精度难以保障。

UnitsNet 用具有单位的变量替代double,支持单位的自动转换,并(部分)支持不同单位的乘除计算。使用UnitsNet 写公式计算代码,可以避免直接的单位转换,使程序的调用者可以使用任意单位作为输入。在.NET IoTUnitsNet 用于任何传感器在绑定中公开的任何单元。在文档里有明确的设备 API 的约定:https://github.com/dotnet/iot/blob/main/Documentation/Devices-conventions.md

image


相关参考文章:

  1. 理化计算程序必备:CoolProp+UnitsNet:https://blog.csdn.net/xhydongda/article/details/120663619

  2. 深入研究 .NET NANOFRAMEWORK 的一年:https://www.nanoframework.net/laurent-ellerbach-a-year-deeply-in-net-nanoframework/

posted @ 2022-07-02 19:35  张善友  阅读(171)  评论(0编辑  收藏  举报