3 个版本

使用旧的 Rust 2015

0.1.2 2015 年 11 月 30 日
0.1.1 2015 年 11 月 30 日
0.1.0 2015 年 11 月 30 日

#19 in #digit

BSD-3-Clause 许可协议

6KB
94 代码行

将十进制数字转换为中文形式。

Build Status Crates.io Version GitHub stars

更多信息请参见文档


lib.rs:

将十进制数字转换为中文形式。

Build Status Crates.io Version GitHub stars

示例

let s = chinese_num::to_chinese_num("121").unwrap();
assert_eq!(s, "一百二十一");
let s = chinese_num::to_chinese_num("1004000007000500").unwrap();
assert_eq!(s, "一千零四万亿零七百万零五百");
let s = chinese_num::to_chinese_num("123000520").unwrap();
assert_eq!(s, "一亿二千三百万零五百二十");
let s = chinese_num::to_chinese_num("1234070000123780000087006786520988800000").unwrap();
assert_eq!(s, "一千二百三十四万零七百亿零一十二万三千七百八十亿零八千七百亿六千七百八十六万五千二百零九亿八千八百八十万");

如果给定的字符串不是一个数字,或者以 "0" 开头,则返回 None

let s = chinese_num::to_chinese_num("不是数字");
assert!(s.is_none());
let s = chinese_num::to_chinese_num("020");
assert!(s.is_none());

算法来自这里: http://zhuanlan.zhihu.com/iobject/20370983.

无运行时依赖