有没有我可以投一个正常的string
到<m>
其中m
是一种度量类型?F# - 铸造字符串为<m>?
0
A
回答
2
我会使用类似
let convert (s:string) : float<m> =
float s
|> LanguagePrimitives.FloatWithMeasure
2
另一种选择,除了KVB的做法是通过1.0<m>
乘以原始浮点值:
let convert (s:string) =
(float s) * 1.0<m>
2
要添加另一种选择,我可能会写:
let inline convertToMeters x : float<m> = unbox (box (float x));;
您可以使用该函数来转换任何类型,可以b e转换为float
的类型float<m>
(这很好,因为它也适用于整数等,但不是所有随机类型,如System.Random
)。你可以从类型签名看到这个:
val inline convertToMeters :
^a -> float<m> when ^a : (static member op_Explicit : ^a -> float)
+2
请注意,如果你想概括一下,你可以走得更远,结果类型是'float <'t>'而不是'float
相关问题
- 1. 铸造字符串为DateTime
- 2. 铸造字符串到布尔运算符(<, <=, >,> =)
- 3. NSDictionary字符串铸造
- 4. 铸造字符串枚举
- 5. 铸造字符串UITestControl
- 6. 铸造字符串到双
- 7. 铸造字符串到Charsequence
- 8. iPhone - 铸造字符串为unsigned char
- 9. 铸造字符串表示为JSON
- 10. 铸造字符串为int空问题
- 11. 访问,铸造字符串为char *
- 12. F#和ExecuteScalar铸造
- 13. 铸造界面{}到字符串数组
- 14. 熊猫铸造ISO字符串datetime64
- 15. 作为字符串比较整数铸造字符的问题
- 16. 铸造字符串到整数
- 17. 铸造型的StreamReader字符串
- 18. JavaScript字符串铸造问题
- 19. 在VB.NET中铸造字符串
- 20. 铸造字符串Int32错误
- 21. 执行从字符串铸造到键
- 22. 从字符串中铸造类型
- 23. 铸造日期字符串Date对象
- 24. 铸造字符串文本框
- 25. 铸造字符串jQuery对象
- 26. 铸造成一个字符串
- 27. 有趣的字符串铸造
- 28. SSIS字符串铸造错误
- 29. F#数值类型铸造
- 30. F#铸造和泛型
我不知道,似乎有点原始。 – Daniel