commit a1f7a93bcc530e06227849d819f7311695575e99
parent 34d4b012ac86400e10c425a404c1405b8eeb9876
Author: triesap <triesap@radroots.dev>
Date: Mon, 19 Jan 2026 06:53:47 +0000
app-utils: add num_str helper
- add num_str formatting helper
- export num_str from numbers module
- add unit test for numeric formatting
- keep numeric formatting behavior consistent
Diffstat:
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/crates/utils/src/lib.rs b/crates/utils/src/lib.rs
@@ -8,7 +8,7 @@ pub mod time;
pub mod types;
pub use errors::{err_msg, handle_err, throw_err, ERR_PREFIX_APP, ERR_PREFIX_UTILS};
-pub use numbers::{parse_float, parse_int};
+pub use numbers::{num_str, parse_float, parse_int};
pub use text::{str_cap, str_cap_words, text_dec, text_enc, ROOT_SYMBOL};
pub use time::{time_now_ms, time_now_s};
pub use types::{resolve_err, resolve_ok, ResolveError, ResultPass};
diff --git a/crates/utils/src/numbers/mod.rs b/crates/utils/src/numbers/mod.rs
@@ -8,9 +8,13 @@ pub fn parse_float(value: &str, fallback: f64) -> f64 {
value.trim().parse::<f64>().unwrap_or(fallback)
}
+pub fn num_str<T: ToString>(value: T) -> String {
+ value.to_string()
+}
+
#[cfg(test)]
mod tests {
- use super::{parse_float, parse_int};
+ use super::{num_str, parse_float, parse_int};
#[test]
fn parse_int_returns_fallback_on_invalid() {
@@ -31,4 +35,9 @@ mod tests {
fn parse_float_parses_numbers() {
assert_eq!(parse_float("3.5", 0.0), 3.5);
}
+
+ #[test]
+ fn num_str_formats_numbers() {
+ assert_eq!(num_str(42), "42");
+ }
}