172 похожих чатов

Может знает кто, есть ли на расте крейт какой-то, который

может строку типа "4.2 millions" преобразовать в int?

4 ответов

8 просмотров

use std::num::ParseFloatError; fn main() { assert_eq!(parse_human_number("42").unwrap(), 42.0); assert_eq!(parse_human_number("4.2 millions").unwrap(), 4_200_000.0); assert_eq!(parse_human_number("5.3 thousands").unwrap(), 5_300.0); assert_eq!(parse_human_number("5300").unwrap(), 5_300.0); assert_eq!(parse_human_number("1.2 billions 2.3 millions 4.5 thousands 6.7").unwrap(), 1_202_304_506.7); } fn parse_human_number(mut s: &str) -> Result<f64, ParseFloatError> { let mut billions = 0.0; let mut millions = 0.0; let mut thousands = 0.0; let mut rest = 0.0; if let Some(i) = s.find("billions") { billions = s[..i].trim().parse()?; s = &s[i + "billions".len()..]; } if let Some(i) = s.find("millions") { millions = s[..i].trim().parse()?; s = &s[i + "millions".len()..]; } if let Some(i) = s.find("thousands") { thousands = s[..i].trim().parse()?; s = &s[i + "thousands".len()..]; } if !s.is_empty() { rest = s.trim().parse()?; } Ok(billions * 1_000_000_000.0 + millions * 1_000_000.0 + thousands * 1_000.0 + rest) }

Αλεχ Zhukovsky
use std::num::ParseFloatError; fn main() { as...

Почему не подключить гтп чат Передав Преобразуй в число 42 мульонов. ?

Sergey Makarov
Почему не подключить гтп чат Передав Преобразуй в...

Думал так сделать. но в итоге показалось что проще заставить копилот сделать что нужно

Семён-Диканский Автор вопроса

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта