整数をカンマ区切りの文字列で取得
何故 sprintf で出来ないのだろうか。。
open System; let fn (x:int) = String.Format("{0:#,#}", x);; let fn x = let cc = [| ""; ""; ""; ","; |] let rec fn' x (s:string) = if x <= 0 then s else fn' (x/10) ((string (x%10)) + cc.[s.Length % 4] + s) fn' x "";; let fn (x:int) = let cc = [| ","; ""; ""; |] (string x).ToCharArray() |> Array.rev |> Array.mapi (fun i x -> ((string) x) + cc.[i%3]) |> Array.rev |> Array.reduce(+) |> (fun (s:string) -> s.Trim(','))