Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let letterToInt c = int_of_char c -65;;
- let cellname_to_coord cn =
- let n = String.length (fst cn) and column = ref 0 in
- for k=0 to (n-1)
- do (column := !column*26 + letterToInt (fst cn).[k])
- done;
- (snd cn -1, !column)
- ;;
- let intToLetter c =String.make 1 (char_of_int (c + 65));;
- let rec decTovingtsixmal = function
- | n when n<26 -> [n]
- |n -> (n mod 26)::(decTovingtsixmal (n/26) );;
- let coord_to_cellname co =
- let column_nbr = List.rev (decTovingtsixmal (snd co)) in
- (String.concat "" (List.map intToLetter column_nbr), fst co +1);;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement