如何在 F# 中使用 printf/sprintf 将小数格式化为具有定义精度的字符串?
How to format decimal as a string with defined precision using printf/sprintf in F#?
我想在 F# 中将十进制值格式化为具有定义精度的字符串。使用 printf/sprintf 我得到:
let sdecimal = sprintf "%.2M" 0.1234M;;
val sdecimal : string = "0.1234"
而对于浮动它有效。
let sfloat = sprintf "%.2f" 0.1234;;
val sfloat : string = "0.12"
好像我必须先将它转换为 float,这既冗长又不合规范。
有没有比使用 C# 的 .ToString() 格式化更简单的方法?
好的。如果格式为 float:
let sfdecimal = sprintf "%.2f" 0.1234M;;
val sfdecimal : string = "0.12"
@scrwtp.
在评论中指出,类型信息仍然保留
我想在 F# 中将十进制值格式化为具有定义精度的字符串。使用 printf/sprintf 我得到:
let sdecimal = sprintf "%.2M" 0.1234M;;
val sdecimal : string = "0.1234"
而对于浮动它有效。
let sfloat = sprintf "%.2f" 0.1234;;
val sfloat : string = "0.12"
好像我必须先将它转换为 float,这既冗长又不合规范。
有没有比使用 C# 的 .ToString() 格式化更简单的方法?
好的。如果格式为 float:
let sfdecimal = sprintf "%.2f" 0.1234M;;
val sfdecimal : string = "0.12"
@scrwtp.
在评论中指出,类型信息仍然保留