如何一般删除 F# 测量单位
我有一些数据操作代码,最后会输出 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<_>
我的问题是:
- 为什么它不起作用?
- 可以让它发挥作用吗?
- 还有其他方法可以解决这个特定问题吗?
I've got some data manipulation code which spits out csv at the end.
I started upgrading it to add units of measure everywhere, but I now have a problem with my csv function:
val WriteCSV : string -> 'a list array -> 'b list -> string -> unit
(the parameters are fileName, column array, column headers, separator)
Where I previously sent [|s;x;y|] to WriteCSV, I now have a problem, because I can't send [|skm; xmm; ymm|].
I tried writing a function for generically removing units of measure, but it doesn't work.
let removeUnit (n:float<_>) = n/1.0<_>
My questions are:
- Why doesn't it work?
- Can it be made to work?
- Is there another way to solve this particular problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果我解决了你的问题,将其转换为“纯”浮动会删除该单位。
例如:
If I got your Problem right, casting it to "pure" float removes the Unit.
For Example:
另一种方法是使用
LanguagePrimitives.FloatWithMeasure
函数。例如:
它的类型签名为:
Another way of doing this is to use the
LanguagePrimitives.FloatWithMeasure
function.For example:
This has a type signature of: