我正在尝试将float转换为普通类型,并将float []转换为其他类型,我不确定如何继续。
我想转换为的类型:
[<Measure>] type radian
[<Measure>] type degree
[<Measure>] type km
[<Measure>] type mi
type LatLong = { Lat : float<degree>; Long : float<degree> }
我想从中转换的类型:
type Msg = {
Mmsi: int;
Time: string;
Latitude: float;
Longitude: float;
}
我想到了一个转换,例如:
let dist = {Lat = msg.Latitude<degree>; Long = msg.Longitude<degree>}
会工作,但似乎出于某种原因,所以没有人对此有所了解吗?非常感谢!
答案 0 :(得分:3)
如果不涉及其他公式,则将数字类型转换为带有度量单位的数字类型,方法是乘以“单位”度量单位,即乘以1。
let msg = { Mmsi = 42; Time = string System.DateTime.Now; Latitude = 0.; Longitude = 0. }
let dist = {Lat = msg.Latitude * 1.<degree>; Long = msg.Longitude * 1.<degree>}
// val dist : LatLong = {Lat = 0.0;
// Long = 0.0;}
此文档记录在{em>转化下的Microsoft page on units of measure上。