[][src]Crate chinese_number

Chinese Number

Convert primitive numbers to Chinese numbers, or parse Chinese numbers to primitive numbers.

This crate can convert Rust's primitive number data types to Chinese numbers as strings. For example, 123 can be converted into 一百二十三 or 壹佰貳拾參. It supports both Traditional Chinese and Simple Chinese.

Example

extern crate chinese_number;

use chinese_number::{ChineseNumber, ChineseVariant, ChineseNumberToNumber, ChineseBigNumberCountMethod};

assert_eq!("壹佰貳拾參", 123i8.to_uppercase_ten_thousand(ChineseVariant::Traditional));
assert_eq!("壹佰贰拾参", 123i8.to_uppercase_ten_thousand(ChineseVariant::Simple));

assert_eq!("一百二十三", 123i8.to_lowercase_ten_thousand(ChineseVariant::Traditional));

assert_eq!("十二萬三千四百五十六億七千八百九十萬一千二百三十四兆五千六百七十八萬九千零一十二億三千四百五十六萬七千八百九十", 123456789012345678901234567890i128.to_lowercase_high(ChineseVariant::Traditional));
assert_eq!("十二萬三千四百五十六京七千八百九十萬一千二百三十四兆五千六百七十八萬九千零一十二億三千四百五十六萬七千八百九十", 123456789012345678901234567890i128.to_lowercase_middle(ChineseVariant::Traditional));
assert_eq!("十二穰三千四百五十六秭七千八百九十垓一千二百三十四京五千六百七十八兆九千零一十二億三千四百五十六萬七千八百九十", 123456789012345678901234567890i128.to_lowercase_ten_thousand(ChineseVariant::Traditional));
assert_eq!("一极二载三正四涧五沟六穰七秭八垓九京零一亿二万三千四百五十六", 1234567890123456i64.to_lowercase_low(ChineseVariant::Simple));

assert_eq!("一角二分", 0.12f64.to_lowercase_ten_thousand(ChineseVariant::Traditional));

assert_eq!(123i8, "一百二十三".parse_chinese_number(ChineseBigNumberCountMethod::TenThousand).unwrap());
assert_eq!(-30303i16, "負三萬零三百零三".parse_chinese_number(ChineseBigNumberCountMethod::TenThousand).unwrap());
assert_eq!(3212345678u32, "三十二億一千二百三十四萬五千六百七十八".parse_chinese_number(ChineseBigNumberCountMethod::TenThousand).unwrap());
assert_eq!(10010001001001001000u64, "一千零一京零一兆零一十億零一百萬一千".parse_chinese_number(ChineseBigNumberCountMethod::TenThousand).unwrap());

assert_eq!(1000000u64, "一兆".parse_chinese_number(ChineseBigNumberCountMethod::Low).unwrap());
assert_eq!(1000000000000u64, "一兆".parse_chinese_number(ChineseBigNumberCountMethod::TenThousand).unwrap());
assert_eq!(10000000000000000u64, "一兆".parse_chinese_number(ChineseBigNumberCountMethod::Middle).unwrap());
assert_eq!(10000000000000000u64, "一兆".parse_chinese_number(ChineseBigNumberCountMethod::High).unwrap());

Enums

ChineseBigNumberCountMethod

根據 五經算術 將大的單位分為上數、中數、下數三種類型,再加上現代使用的萬進。

ChineseNumberCase

大寫或小寫數字。

ChineseVariant

繁體中文(Traditional Chinese)或簡體中文(Simple Chinese)。

Traits

ChineseNumber

讓Rust程式語言的所有基本數值型別擁有中文數字的轉換能力。

ChineseNumberToNumber

讓Rust程式語言的字串型別擁有中文數字的轉換能力。

Functions

from_f32

將f32浮點數轉成中文數字。如果使用 「下數」 來作為單位標準,數值不能大於或等於10000000000000000。

from_f32_mut

將f32浮點數轉成中文數字。如果使用 「下數」 來作為單位標準,數值不能大於或等於10000000000000000。

from_f64

將f64浮點數轉成中文數字。如果使用 「下數」 來作為單位標準,數值不能大於或等於10000000000000000。

from_f64_mut

將f64浮點數轉成中文數字。如果使用 「下數」 來作為單位標準,數值不能大於或等於10000000000000000。

from_i8

將i8整數轉成中文數字。

from_i8_mut

將i8整數轉成中文數字。

from_i16

將i16整數轉成中文數字。

from_i16_mut

將i16整數轉成中文數字。

from_i32

將i32整數轉成中文數字。

from_i32_mut

將i32整數轉成中文數字。

from_i64

將i64整數轉成中文數字。如果使用 「下數」 來作為單位標準,數值不能大於或等於10000000000000000。

from_i64_mut

將i64整數轉成中文數字。如果使用 「下數」 來作為單位標準,數值不能大於或等於10000000000000000。

from_i128

將i128整數轉成中文數字。如果使用 「下數」 來作為單位標準,數值不能大於或等於10000000000000000。

from_i128_mut

將i128整數轉成中文數字。如果使用 「下數」 來作為單位標準,數值不能大於或等於10000000000000000。

from_isize

將isize整數轉成中文數字。如果使用 「下數」 來作為單位標準,數值不能大於或等於10000000000000000。

from_isize_mut

將isize整數轉成中文數字。如果使用 「下數」 來作為單位標準,數值不能大於或等於10000000000000000。

from_u8

將u8整數轉成中文數字。

from_u8_mut

將u8整數轉成中文數字。

from_u16

將u16整數轉成中文數字。

from_u16_mut

將u16整數轉成中文數字。

from_u32

將u32整數轉成中文數字。

from_u32_mut

將u32整數轉成中文數字。

from_u64

將u64整數轉成中文數字。如果使用 「下數」 來作為單位標準,數值不能大於或等於10000000000000000。

from_u64_mut

將u64整數轉成中文數字。如果使用 「下數」 來作為單位標準,數值不能大於或等於10000000000000000。

from_u128

將u128整數轉成中文數字。如果使用 「下數」 來作為單位標準,數值不能大於或等於10000000000000000。

from_u128_mut

將u128整數轉成中文數字。如果使用 「下數」 來作為單位標準,數值不能大於或等於10000000000000000。

from_usize

將usize整數轉成中文數字。如果使用 「下數」 來作為單位標準,數值不能大於或等於10000000000000000。

from_usize_mut

將usize整數轉成中文數字。如果使用 「下數」 來作為單位標準,數值不能大於或等於10000000000000000。

parse_chinese_number_to_f32

將中文數字轉成f32數值。

parse_chinese_number_to_f64

將中文數字轉成f64數值。

parse_chinese_number_to_i8

將中文數字轉成i8數值。

parse_chinese_number_to_i16

將中文數字轉成i16數值。

parse_chinese_number_to_i32

將中文數字轉成i32數值。

parse_chinese_number_to_i64

將中文數字轉成i64數值。

parse_chinese_number_to_i128

將中文數字轉成i128數值。

parse_chinese_number_to_isize

將中文數字轉成isize數值。

parse_chinese_number_to_u8

將中文數字轉成u8數值。

parse_chinese_number_to_u16

將中文數字轉成u16數值。

parse_chinese_number_to_u32

將中文數字轉成u32數值。

parse_chinese_number_to_u64

將中文數字轉成u64數值。

parse_chinese_number_to_u128

將中文數字轉成u128數值。

parse_chinese_number_to_usize

將中文數字轉成usize數值。