Home

Awesome

Chinese

中文解析通用工具。包括拼音,简繁转换,数字读法,货币读法。

<br/>

安装

通过 Nuget 使用 .NET CLI 安装:

dotnet add package Chinese

版本更新

版本:0.8.1-alpha

欢迎仅使用 数字转换 / 货币转换 功能的项目升级试用。

版本:0.5.0

版本:4.5.0

版本:4.1.0

<br/>

拼音

// "mian3 fei4,kua4 ping2 tai2,kai1 yuan2!"
Pinyin.GetString("免费,跨平台,开源!", PinyinFormat.Default);
// "mian fei,kua ping tai,kai yuan!"
Pinyin.GetString("免费,跨平台,开源!", PinyinFormat.WithoutTone);
// "miǎn fèi,kuà píng tái,kāi yuán!"
Pinyin.GetString("免费,跨平台,开源!", PinyinFormat.Phonetic);
// "mf,kpt,ky!"
Pinyin.GetString("免费,跨平台,开源!", PinyinFormat.InitialConsonant);
<br/>

简繁转换

ChineseConverter.ToTraditional("免费,跨平台,开源!");    // "免費,跨平臺,開源!"
ChineseConverter.ToSimplified("免費,跨平臺,開源!");     // "免费,跨平台,开源!"
<br/>

数字读法

NumberMode 选项描述示例
Default流行读法,亿级以上使用 千亿 万亿 等单位;<br />不省略第一个 前的 <br/>小写读法。-
Classical经典读法,亿级以上使用 等单位-
Concise简洁读法,省略第一个 前的 10_0001 读作 十万零一
Upper大写读法1 读作

计量读法

var lexicon = Lexicon.Number;
lexicon.GetString(10_0001);  // "一十万零一"
lexicon.GetString(10_0101);  // "一十万零一百零一"
lexicon.GetString(10_1001);  // "一十万一千零一"
lexicon.GetString(10_1010);  // "一十万一千零一十"

lexicon.GetNumber("一十万零一");        // 10_0001
lexicon.GetNumber("一十万零一百零一");  // 10_0101
lexicon.GetNumber("一十万一千零一");    // 10_1001
lexicon.GetNumber("一十万一千零一十");  // 10_1010

大数读法

流行读法

亿级以上使用(万亿、亿亿、万亿亿、亿亿亿、万亿亿亿):

var lexicon = Lexicon.Number;

// "一万亿亿亿二千三百四十五亿亿亿六千七百八十九万亿亿零一百二十三亿亿四千五百六十七万亿八千九百零一亿二千三百四十五万六千七百八十九"
lexicon.GetString(1_2345_6789_0123_4567_8901_2345_6789m);

// 12345678901234567890123456789
lexicon.GetNumber("一万亿亿亿二千三百四十五亿亿亿六千七百八十九万亿亿零一百二十三亿亿四千五百六十七万亿八千九百零一亿二千三百四十五万六千七百八十九");
经典读法

亿级以上使用(兆、京、垓、秭、穰):

var lexicon = Lexicon.NumberWith(NumberMode.Classical);

// "一穰二千三百四十五秭六千七百八十九垓零一百二十三京四千五百六十七兆八千九百零一亿二千三百四十五万六千七百八十九"
lexicon.GetString(1_2345_6789_0123_4567_8901_2345_6789m);

// 12345678901234567890123456789
lexicon.GetNumber("一穰二千三百四十五秭六千七百八十九垓零一百二十三京四千五百六十七兆八千九百零一亿二千三百四十五万六千七百八十九");
<br/>

编号读法

var lexicon = Lexicon.NumberWith(NumberMode.Code);
lexicon.GetString(10_0001);  // "一〇〇〇〇一"
lexicon.GetString(10_0101);  // "一〇〇一〇一"
lexicon.GetString(10_1001);  // "一〇一〇〇一"
lexicon.GetString(10_1010);  // "一〇一〇一〇"

lexicon.GetNumber("一〇〇〇〇一");  // 10_0001
lexicon.GetNumber("一〇〇一〇一");  // 10_0101
lexicon.GetNumber("一〇一〇〇一");  // 10_1001
lexicon.GetNumber("一〇一〇一〇");  // 10_1010
<br/>

货币读法

var lexicon = Lexicon.Currency;

lexicon.GetString(1);        // "一元整"
lexicon.GetString(10_0001);  // "一十万零一元整"
lexicon.GetString(10_0101);  // "一十万零一百零一元整"
lexicon.GetString(10_1001);  // "一十万一千零一元整"
lexicon.GetString(10_1010);  // "一十万一千零一十元整"
lexicon.GetString(10_0001.2m);   // "一十万零一元二角整"
lexicon.GetString(10_0001.23m);  // "一十万零一元二角三分"
lexicon.GetString(10_0001.03m);  // "一十万零一元零三分"

lexicon.GetNumber("一元整");                // 1
lexicon.GetNumber("一十万零一元整");        // 10_0001
lexicon.GetNumber("一十万零一百零一元整");  // 10_0101
lexicon.GetNumber("一十万一千零一元整");    // 10_1001
lexicon.GetNumber("一十万一千零一十元整");  // 10_1010
lexicon.GetNumber("一十万零一元二角整");    // 10_0001.2m
lexicon.GetNumber("一十万零一元二角三分");  // 10_0001.23m
lexicon.GetNumber("一十万零一元零三分");    // 10_0001.03m
<br/>