में int के लिए फ्लोट कास्ट करें ओकैमल में एक पूर्णांक में मुझे फ़्लोट कैसे डालना चाहिए?OCaml
मुझे पता है कि एक इंट से फ्लोट कैसे प्राप्त करें, लेकिन फ्लोट से इंट प्राप्त करने का एक आसान तरीका प्रतीत नहीं होता है।
में int के लिए फ्लोट कास्ट करें ओकैमल में एक पूर्णांक में मुझे फ़्लोट कैसे डालना चाहिए?OCaml
मुझे पता है कि एक इंट से फ्लोट कैसे प्राप्त करें, लेकिन फ्लोट से इंट प्राप्त करने का एक आसान तरीका प्रतीत नहीं होता है।
# int_of_float ;;
- : float -> int = <fun>
मुझे लगता है आप चाहते हैं एक पास int
(यह शून्य की ओर दौर, सी करता है एक ही रूप में)।
यदि आप आईईईई प्रतिनिधित्व चाहते हैं, तो Int64.bits_of_float
देखें।
आप कर सकते हैं बस truncate
यह, अगर नाव की पूर्णांक भाग तुम क्या चाहते है:
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
*)
या floor
/ceil
, और फिर truncate
, यदि आप वास्तव में करने के लिए इसे पूर्णांक बनाना चाहते हैं निकटतम पूर्णांक