This question already has answers here:
Maintaining Units of measure across type converstions

(2个答案)


7年前关闭。




我不知道如何将小数位数转换为小数位数。

我一直在尝试类似的代码:
let toFloat (value: decimal<'T>) =
    let value = float (value / LanguagePrimitives.GenericOne<decimal<'T>>)
    value * LanguagePrimitives.GenericOne<float<'T>>

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

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

最佳答案

我在http://www.tryfsharp.org上进行了查看,看来应该可以使用:

let toFloat (value: decimal<'T>) =
    LanguagePrimitives.FloatWithMeasure<'T>(float (decimal value))

关于f# - 如何将小数位数转换为相同单位的浮点数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17494419/

10-10 09:54