1个稳定版本
1.0.0 | 2020年5月10日 |
---|
#277 in 值格式化
18KB
318 行
to-str
用于高效转换为字符串的泛型特质。适用于no_std
性能
取决于ToStr
实现,但通常默认实现是Rust核心fmt
的高效替代品
整数
总体性能接近itoa
,但由于一些未优化的机会(可能是由于ToStr
中的切片)而略逊一筹。
与itoa
不同,实现避免了针对整数类型的泛型,而是使用针对u8
、u64
和u128
类型的通用函数
lib.rs
:
no_std
友好的字符串转换接口
type Buffer = to_str::Buffer64;
let mut buf = String::new();
let _ = buf.push_str(Buffer::fmt(5usize).as_str());
assert_eq!(buf, "5");
buf.push_str(Buffer::fmt(0usize).as_str());
assert_eq!(buf, "50");
buf.push_str(Buffer::fmt(&5usize).as_str());
assert_eq!(buf, "505");
buf.push_str(Buffer::fmt(&mut 0usize).as_str());
assert_eq!(buf, "5050");