Есть ли простой способ и динамический способ форматирования чисел в строке, чтобы они были доступны для чтения? Например, поверните 10000000000
в 10,000,000,000
. Я видел this вопрос, но ответы устарели и сломаны (один пример).Человеко читаемые номера
ответ
Для моей местности это, казалось, работать! Вероятно, это не самая идиоматическая ржавчина, но она функциональна.
fn readable(mut o_s: String) -> String {
let mut s = String::new();
let mut negative = false;
let values: Vec<char> = o_s.chars().collect();
if values[0] == '-' {
o_s.remove(0);
negative = true;
}
for (i ,char) in o_s.chars().rev().enumerate() {
if i % 3 == 0 && i != 0 {
s.insert(0, ',');
}
s.insert(0, char);
}
if negative {
s.insert(0, '-');
}
return s
}
fn main() {
let value: i64 = -100000000000;
let new_value = readable(value.to_string());
println!("{}", new_value);
}
Это не работает для некоторых отрицательных чисел, например, попробуйте «-100000000». –
@DylanJamesMcGannon Спасибо, что указали это. Я решил эту проблему. – electrometro
Попробуйте этот псевдо алгоритм:
- Разделить длину строки на 3
- Круглом, что вниз, и мы будем называть его
x
Цикл по строке
x
раз, идя назад:- Получить строку в
x
раз 3-х позицию или индекс [(x раз 3) - 1], назовем егоy
. - Заменить
y
с"," + y
- Получить строку в
Я никогда не использовал ржавчину в моей жизни, но это то, что я придумал, переводя решение от here:
fn main() {
let i = -117608854;
printcomma(i);
}
fn printcomma(mut i: i32) {
if i < 0 {
print!("-");
i=-i;
}
if i < 1000 {
print!("{}", i.to_string());
return;
}
printcomma(i/1000);
print!(",{:03}", i%1000);
}
возвращает "-117,608,854"
- 1. Haskell: человеко-читаемые даты
- 2. Человеко-читаемые самоописательные объекты и локализация
- 3. Получить человеко-читаемые цвета из изображения
- 4. Человеко-читаемые URL-адреса: желательно иерархические тоже?
- 5. Человеко-читаемые двоичные данные с использованием Python
- 6. Человеко-читаемые названия для фаз Луны с Pyephem
- 7. Как я могу кодировать HTML-строку и использовать человеко-читаемые закодированные теги (например: ê вместо ê)
- 8. Как преобразовать файл, полный строк времени unix, в человеко-читаемые даты?
- 9. человеко-читаемый размер файла
- 10. Человеко читаемая альтернатива CSV
- 11. Читаемые, управляемые итераторы?
- 12. WkHtmlToPdf Не читаемые шрифты
- 13. SharedPreferences, не читаемые Данные
- 14. Как читать читаемые URL?
- 15. Человеко-читаемый URL-адрес в azure
- 16. Проверка Laravel - Более читаемые сообщения
- 17. читаемые аргументы argparse без - или -
- 18. Node.js Потоки, читаемые для преобразования
- 19. Latex generated pdf не читаемые
- 20. python .findall результаты в читаемые
- 21. Человеческие читаемые ydn-db Источники
- 22. Как сделать читаемые xml-теги
- 23. Создайте читаемые слова после бинаризации
- 24. Как создать человеко-читаемый идентификатор в MongoDb
- 25. Как показать человеко-читаемое «время назад»
- 26. Модели Django фильтруют по человеко-читаемому значению
- 27. Человеко-интерпретируемый контролируемый алгоритм машинного обучения
- 28. человеко-читаемый жесткого кодирования dataframe в R
- 29. Можно ли генерировать человеко-случайные числа?
- 30. медиа-запросы неверно читаемые классы содержат
Http: // stackoverflow.com/questions/26998485/rust-print-format-number-with-thousand-separator –