从数组中去除测量单位

mca*_*mca 5 arrays f# units-of-measurement

我正在调用外部函数需要float[],但我的数组是float<m>[]。如何从数组中去除度量单位?

我需要类似下面的函数,但这不能编译。我想避免数组的任何迭代或重复,因为float<m>float值是相同的......

let demeasure (arr:float<m>[]): float[] = float[] (arr)
Run Code Online (Sandbox Code Playgroud)

Bri*_*ian 4

我相信强制转换为obj,然后动态强制转换为float[]会起作用,例如

(arr :> obj) :?> float[]
Run Code Online (Sandbox Code Playgroud)

因为没有运行时表示。

或许还可以看到

F# 测量单位 - 将值“提升”为 float<something>

如何一般删除 F# 测量单位