我想在 F# 中将十进制值格式化为具有定义精度的字符串。使用 printf/sprintf 时,我得到:
let sdecimal = sprintf "%.2M" 0.1234M;;
val sdecimal : string = "0.1234"
而对于 float 它的工作原理。
let sfloat = sprintf "%.2f" 0.1234;;
val sfloat : string = "0.12"
似乎我必须先将它转换为浮点,这既冗长又不符合犹太教规。
有没有比使用 C# 的 .ToString() 格式更简单的方法?
最佳答案
好的。如果格式是 float 的,它会起作用:
let sfdecimal = sprintf "%.2f" 0.1234M;;
val sfdecimal : string = "0.12"
正如@ scrwtp 在评论中指出的那样,类型信息仍然保留。 .
关于string - 如何在 F# 中使用 printf/sprintf 将十进制格式化为具有定义精度的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36521696/