OCaml Форматирование чисел с тысячами разделителей

Есть ли в стандартной библиотеке или в Core что-нибудь, что я могу использовать для форматирования целых чисел с тысячами разделителей?

2 ответа

Решение

К сожалению, ничего, ожидайте, что вы можете использовать %a укажите спецификатор формата и предоставьте свой собственный симпатичный принтер.

Вы можете использовать%#dформат для печати целого числа с использованием символов подчеркивания в качестве разделителей (в соответствии с лексическими соглашениями OCaml):

      # Printf.sprintf "=> %#d" 1000000;;
- : string = "=> 1_000_000"

И затем замените подчеркивания запятыми:

      # Printf.sprintf "=> %#d" 1000000 |> String.map (function '_' -> ',' | char -> char);;
- : string = "=> 1,000,000"
Другие вопросы по тегам