Module Percent.Format
A Format.t
tells Percent.format
how to render a floating-point value as a string, like a printf
conversion specification.
For example:
format (Format.exponent ~precision) = sprintf "%.e" precision
The _E
naming suffix in Format
values is mnenomic of a capital E
(rather than e
) being used in floating-point exponent notation.
Here is the documentation of the floating-point conversion specifications from the OCaml manual:
- f: convert a floating-point argument to decimal notation, in the style dddd.ddd.
- F: convert a floating-point argument to OCaml syntax (dddd. or dddd.ddd or d.ddd e+-dd).
- e or E: convert a floating-point argument to decimal notation, in the style d.ddd e+-dd (mantissa and exponent).
- g or G: convert a floating-point argument to decimal notation, in style f or e, E (whichever is more compact).
- h or H: convert a floating-point argument to hexadecimal notation, in the style 0xh.hhhh e+-dd (hexadecimal mantissa, exponent in decimal and denotes a power of 2).
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val exponent : precision:Core_kernel__.Import.int -> t
sprintf "%.*e" precision
val exponent_E : precision:Core_kernel__.Import.int -> t
sprintf "%.*E" precision
val decimal : precision:Core_kernel__.Import.int -> t
sprintf "%.*f" precision
val ocaml : t
sprintf "%F"
val compact : precision:Core_kernel__.Import.int -> t
sprintf "%.*g" precision
val compact_E : precision:Core_kernel__.Import.int -> t
sprintf "%.*G" precision
val hex : precision:Core_kernel__.Import.int -> t
sprintf "%.*h" precision
val hex_E : precision:Core_kernel__.Import.int -> t
sprintf "%.*H" precision