6 个版本

使用旧的 Rust 2015

0.2.4 2021 年 6 月 6 日
0.2.3 2018 年 10 月 6 日
0.1.0 2018 年 8 月 20 日
0.0.7 2017 年 1 月 31 日

#21值格式化

Download history 17068/week @ 2024-03-14 17184/week @ 2024-03-21 15989/week @ 2024-03-28 17728/week @ 2024-04-04 18784/week @ 2024-04-11 21329/week @ 2024-04-18 19527/week @ 2024-04-25 19420/week @ 2024-05-02 17505/week @ 2024-05-09 20151/week @ 2024-05-16 18419/week @ 2024-05-23 17932/week @ 2024-05-30 18609/week @ 2024-06-06 19963/week @ 2024-06-13 17214/week @ 2024-06-20 14717/week @ 2024-06-27

73,614 每月下载量
757 个 Crates(直接使用 33 个) 中使用

MIT/Apache

23KB
388

NumToA

#![no_std] 兼容零堆分配

标准库提供了一个方便的方法将数字转换为字符串,但这些字符串是堆分配的。如果您有一个需要将大量数字转换为字符串的应用程序,但不想支付堆分配的代价,此 crate 提供了一种高效的 no_std 兼容方法,无需堆分配即可将数字转换为它们的字符串表示形式,并将表示形式存储在可重用的字节数组中。

支持多种基数

除了支持标准的十进制转换外,此实现还允许您选择所需的基数。因此,如果您需要二进制表示,将基数设置为 2。如果您需要十六进制,将基数设置为 16。

&str 示例

use numtoa::NumToA;

let mut buffer = [0u8; 20];
println!("{}", 12345.numtoa_str(10, &mut buffer));
println!("{}", 256652.numtoa_str(10, &mut buffer));

&[u8] 示例

use numtoa::NumToA;
use std::io::{self, Write};

let stdout = io::stdout();
let mut stdout = stdout.lock();
let mut buffer = [0u8; 20];

let number: u32 = 162392;
let _ = stdout.write(number.numtoa(10, &mut buffer));
let _ = stdout.write(b"\n");
assert_eq!(number.numtoa(10, &mut buffer), b"162392");

let number: i32 = -6235;
let _ = stdout.write(number.numtoa(10, &mut buffer));
let _ = stdout.write(b"\n");

let number: i8 = -128;
let _ = stdout.write(number.numtoa(10, &mut buffer));
let _ = stdout.write(b"\n");

let number: i8 = 53;
let _ = stdout.write(number.numtoa(10, &mut buffer));
let _ = stdout.write(b"\n");

let number: i16 = -256;
let _ = stdout.write(number.numtoa(10, &mut buffer));
let _ = stdout.write(b"\n");

let number: i16 = -32768;
let _ = stdout.write(number.numtoa(10, &mut buffer));
let _ = stdout.write(b"\n");

let number: u64 = 35320842;
let _ = stdout.write(number.numtoa(10, &mut buffer));
let _ = stdout.write(b"\n");

let number: u64 = 18446744073709551615;
let _ = stdout.write(number.numtoa(10, &mut buffer));
let _ = stdout.write(b"\n");

无运行时依赖