题
我有一些数据操作代码,最后会输出 csv。
我开始升级它以在各处添加测量单位,但现在我的 csv 函数出现问题:
val WriteCSV : string -> 'a list array -> 'b list -> string -> unit
(参数为文件名、列数组、列标题、分隔符)
我之前将 [|s;x;y|] 发送到 WriteCSV,现在遇到了问题,因为我无法发送 [|skm;xmm;嗯|]。
我尝试编写一个函数来一般删除测量单位,但它不起作用。
let removeUnit (n:float<_>) = n/1.0<_>
我的问题是:
- 为什么不起作用?
- 可以让它发挥作用吗?
- 还有其他方法可以解决这个特定问题吗?
解决方案
如果我解决了你的问题,将其转换为“纯”浮动会删除该单位。例如:
[<Measure>] type m
[<Measure>] type km
let removeUnit (x:float<_>) =
float x
let foo = removeUnit 2.6<m>
let foo2 = removeUnit 2.1<km>
val 删除单位:浮点<'u> -> 浮点
不隶属于 StackOverflow