在我们的应用程序中,我们目前面临着一个决策遗留问题,即将所有工程数据存储在SI中。我担心我们可能存在数据库或.NET数字类型精度和准确性不足的风险。我还担心我们可能会看到浮点数学的伪影(虽然这可能是一个问题)。例如,源数据可能是以Psi(磅力/平方英寸)表示的压力量(从某个第三方服务读取)。工程师们选择了这个计量单位,因为(对于所表达的数量)这将倾向于给出易于消化的人类可读数字,而不需要科学记数法。当我们“标准化”数字时,即当我们将此数量转换为我们自己的持久性时,我们可能会将其转换为Pa(帕斯卡),这将需要将数字乘以或除以一些其他可能很大的数字。我们经常存储非常大或非常小的数字,更糟糕的是-我们可能会对这些数字进行进一步的计算。目前,我们使用ORACLE浮点和System.Double。人们对此有什么看法?更新
进一步的研究发现,在即将发布的F#语言中(我写这篇文章时还处于CTP阶段),支持度量单位。
我们也可以创建自己的派生单位和单位系统。
(来源: msdn.com)
进一步的研究发现,在即将发布的F#语言中(我写这篇文章时还处于CTP阶段),支持度量单位。
看起来,我们将能够让F#理解用户输入,例如:
9.81<n/s^2> // an acceleration
我们也可以创建自己的派生单位和单位系统。
(来源: msdn.com)