5

我不知道如何将带有度量单位的小数转换为带有度量单位的浮点数。

我一直在尝试类似以下的代码:

let toFloat (value: decimal<'T>) =
    let value = float (value / LanguagePrimitives.GenericOne<decimal<'T>>)
    value * LanguagePrimitives.GenericOne<float<'T>> 

这个方法产生一个十进制 -> 浮点数的签名,这不是我想要的。我正在尝试创建一个十进制<'T> -> float<'T> 类型的函数。

是否可以创建这样的功能?如果是这样,它会是什么样子?

4

1 回答 1

6

我在http://www.tryfsharp.org上查看了它,似乎这应该可行:

let toFloat (value: decimal<'T>) =
    LanguagePrimitives.FloatWithMeasure<'T>(float (decimal value))
于 2013-07-05T18:04:47.813 回答