C#中的测量转换逻辑单位

Eva*_*yan 3 c# logic measurement

我正在为我的程序添加一个功能,用户可以随时更改其测量单位,并让程序重新计算其输入和输出.

如果用户输入说某项为20lbs,则决定他想以千克为单位工作,他可以​​随时选择一个选项来执行此操作,程序将重新计算他​​的20磅输入为9Kg.然后,如果他决定他宁愿以盎司工作,它会将9Kg转换为320盎司,依此类推.

什么是最有效和最有效的方法?我一直绞尽脑汁想要找到一种方法来实现正确的公式.

Mar*_*ers 14

以标准单位(或您喜欢的单位)进行所有计算.

  • 将用户输入从他们想要的任何内容转换为标准单位.
  • 使用标准单位执行计算.
  • 将答案转换回用户想要的单位.

只有用户界面需要关心单位转换.其余的代码不需要担心它.

  • 我建议使用SI单位存储在数据库中的信息(或者您存储数据的任何内容). (4认同)
  • ...否则你的着陆器会过冲并飞向太空或者在一个辉煌的火球中坠入水面!;) (2认同)

Pao*_*olo 5

在内部以已知的测量单位存储该值(例如,以千克为单位存储所有内容),并使用公式将已知单位转换为/从已知单位转换为所有其他单位。

基本上你只需要转换显示的单位,你所有的内部计算都可以在一个单位中完成。

作为一个曲线球,F# 内置了一个强大的计量单位机制,如果你喜欢玩一些尖端的东西......