@Dontworrys

Форматирование чисел?

Как в rust форматировать число, чтобы добавить занятую между сотыми числа.

Например ввожу: 105359040400
Должен получить: 105,359,040,400
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Dontworrys Автор вопроса
use num_format::{Locale, ToFormattedString};

fn main() {
    let s = 1000000.to_formatted_string(&Locale::en);
    assert_eq!(&s, "1,000,000");
}

Нашел ответ. Если есть другой вариант форматирования (из коробки) то сообщите пожалуйста
Ответ написан
@cryptodust
Форматирование при котором не надо прибегать к сторонним пакетам.
fn main() {
    let number = 105359040400;
    let formatted = format_number_with_commas(number);
    println!("{}", formatted);
}

fn format_number_with_commas(num: u64) -> String {
    let num_str = num.to_string();
    let mut formatted = String::new();

    for (i, c) in num_str.chars().rev().enumerate() {
        if i != 0 && i % 3 == 0 {
            formatted.insert(0, ',');
        }
        formatted.insert(0, c);
    }

    formatted
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы