2017-04-24 2 views

답변

1

당신 스스로해야 할 것 같습니다. 나는 한 번 해냈어. 내가 한 일은 여기에있다.

let num_of_string = 
    let open Num in 
    let code_0 = Char.code '0' in 
    let num10 = Int 10 in 
    fun s -> 
    try num_of_string s 
    with Failure _ -> 
     let r = ref (Int 0) in 
     let pos_dot = ref (-1) in 
     String.iteri (fun i c -> 
     if c = '.' then pos_dot := String.length s - i 
     else 
      r := add_num (mult_num num10 !r) (num_of_int (Char.code c - code_0)) 
    ) s; 
     assert (!pos_dot <> -1); 
     div_num !r (power_num num10 (num_of_int !pos_dot))