Jak mam rzucić float na liczbę całkowitą w OCaml?Przenoszenie danych do int w OCaml
Wiem, jak uzyskać float z int, ale nie wydaje się być łatwy sposób na uzyskanie int z float.
Jak mam rzucić float na liczbę całkowitą w OCaml?Przenoszenie danych do int w OCaml
Wiem, jak uzyskać float z int, ale nie wydaje się być łatwy sposób na uzyskanie int z float.
# int_of_float ;;
- : float -> int = <fun>
zakładam chcesz pobliżu int
(ta zaokrągla do zera, tak samo jak C robi). Aby uzyskać reprezentację IEEE, patrz .
można po prostu truncate
to, jeśli część całkowitą pływaka jest to, co chcesz:
printf "number\tint\tfloor\tceil\n";
List.iter
(fun x -> printf "%.1f\t%d\t%.1f\t%.1f\n" x (truncate x) (floor x) (ceil x))
fs;;
(*
* number int floor ceil
* 3.3 3 3.0 4.0
* 3.5 3 3.0 4.0
* 3.7 3 3.0 4.0
* -3.3 -3 -4.0 -3.0
*)
lub floor
/ceil
, a następnie truncate
, jeśli naprawdę chcesz zaokrąglić go do najbliższa liczba całkowita