代码从csdn复制,未做测试
public static class ChineseNumberUtil |
{ |
|
/// <summary> |
/// 将中文数字转换成阿拉伯数字 |
/// </summary> |
/// <param name="cnNumber"></param> |
/// <returns></returns> |
static int ConverToDigit(string cnNumber) |
{ |
int result = 0; |
int temp = 0; |
foreach (char c in cnNumber) |
{ |
int temp1 = ToDigit(c); |
if (temp1 == 10000) |
{ |
result += temp; |
result *= 10000; |
temp = 0; |
} |
else if (temp1 > 9) |
{ |
if (temp1 == 10 && temp == 0) temp = 1; |
result += temp * temp1; |
temp = 0; |
} |
else temp = temp1; |
} |
result += temp; |
return result; |
} |
|
/// <summary> |
/// 将中文数字转换成阿拉伯数字 |
/// </summary> |
/// <param name="cn"></param> |
/// <returns></returns> |
static int ToDigit(char cn) |
{ |
int number = 0; |
switch (cn) |
{ |
case '壹': |
case '一': |
number = 1; |
break; |
case '两': |
case '贰': |
case '二': |
number = 2; |
break; |
case '叁': |
case '三': |
number = 3; |
break; |
case '肆': |
case '四': |
number = 4; |
break; |
case '伍': |
case '五': |
number = 5; |
break; |
case '陆': |
case '六': |
number = 6; |
break; |
case '柒': |
case '七': |
number = 7; |
break; |
case '捌': |
case '八': |
number = 8; |
break; |
case '玖': |
case '九': |
number = 9; |
break; |
case '拾': |
case '十': |
number = 10; |
break; |
case '佰': |
case '百': |
number = 100; |
break; |
case '仟': |
case '千': |
number = 1000; |
break; |
case '萬': |
case '万': |
number = 10000; |
break; |
case '零': |
default: |
number = 0; |
break; |
} |
return number; |
} |
|
/// <summary> |
/// 将中文数字转换成阿拉伯数字 |
/// </summary> |
/// <param name="cnDigit"></param> |
/// <returns></returns> |
static long ToLong(string cnDigit) |
{ |
long result = 0; |
string[] str = cnDigit.Split('亿'); |
result = ConverToDigit(str[0]); |
if (str.Length > 1) |
{ |
result *= 100000000; |
result += ConverToDigit(str[1]); |
} |
return result; |
} |
|
|
}
本文介绍了一个简单的C#程序,该程序能够将中文数字字符串转换为阿拉伯数字整数或长整数。通过解析输入的中文数字并进行相应的数学运算,实现中文到阿拉伯数字的有效转换。
780

被折叠的 条评论
为什么被折叠?



