>
/// 切り上げ
let RoundUp value digits =
let pow = pown 10. digits
let compute f x = f(x * pow) / pow
if value > 0. then
compute ceil value
else
compute floor value
/// 切捨て
let RoundDown value digits =
let pow = pown 10. digits
let compute f x = f(x * pow) / pow
if value > 0. then
compute floor value
else
compute ceil value
/// 四捨五入
let Round value digits =
let pow = pown 10. digits
let compute f x r = f(x * pow + r) / pow
if value > 0. then
compute floor value 0.5
else
compute ceil value -0.5
;;
val RoundUp : float -> int -> float
val RoundDown : float -> int -> float
val Round : float -> int -> float
> RoundUp 3.1415 3;;
val it : float = 3.142
> RoundDown 3.1415 3;;
val it : float = 3.141
> Round 3.1415 3;;
val it : float = 3.142
>