如何在Ocaml中将float转换为字符串并存储在变量中

时间:2013-04-26 03:00:50

标签: floating-point ocaml

我想要做的就是将一个浮点数作为字符串存储到一个变量中,我使用了以下代码:

let float_number = 0.00005 in
let str_number = string_of_float float_number in
Printf.printf "%s" str_number;;

运行此代码后,我得到了“5e-05”,这不是我想要的,我想要的是“0.00005”。我知道Printf.printf "%f" float_number打印出“0.00005”,但它没有存储在变量中。

1 个答案:

答案 0 :(得分:3)

您可以使用Printf.sprintf来完成此任务。为了保持字符串与文字浮点数完全相同,我必须将精度格式指令.5添加到格式字符串。

# let float_number = 0.00005
let str_number = Printf.sprintf "%.5f" float_number ;;
  val float_number : float = 5e-05
val str_number : string = "0.00005"