我需要一个函数,比如int2string,它可以将给定的整数转换为它的字符串表示形式。如果可能,int2string可以采用第二个参数来引用表示的基础。默认情况下,第二个参数为10.
答案 0 :(得分:1)
致tostring_int
。它可以在prelude/SATS/tostring.sats
中使用,如果您愿意,可以重载tostring
或其他内容。)
答案 1 :(得分:0)
这有效 - 虽然它可能不是最好的风格。请随时改进这个答案。
extern
fun
int2string(i: int, b: int): string
(* ****** ****** *)
implement
int2string(i, b) = let
val () = assertloc(i >= 0)
fun dig2str(i:int): string =
if i = 0 then "0"
else if i = 1 then "1"
else if i = 2 then "2"
else if i = 3 then "3"
else if i = 4 then "4"
else if i = 5 then "5"
else if i = 6 then "6"
else if i = 7 then "7"
else if i = 8 then "8"
else if i = 9 then "9"
else "" // can add A, B, C,...
fun helper(i: int, res: string): string =
if i > 0 then helper(i / b, dig2str(i % b) + res)
else res
in
helper(i, "")
end