润宇软件
首 页 企业简介 项目案例 软件定制 行业软件 解决方案 企业动态 服务专区 客服中心
业务介绍:西安软件公司、软件开发、软件定制、软件外包
软件 方案 文章
  润宇软件 >> 新闻资讯  >> 解决方案

将中文数字转换成阿拉伯数字

发布时间:2015/8/23  浏览次数:23次  字体【    】
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;
}
}
  关闭本页
西部IT网合作伙伴 合作伙伴
陕西省 | 榆林 | 延安 | 铜川 | 渭南 | 商洛 | 宝鸡 | 汉中 | 安康 | 咸阳
网站首页 | 关于我们 | 售后服务 | 项目合同 | 查看留言 | 在线留言 | 客服中心
© 版权所有:西安润宇软件科技有限公司 
公司地址:西安市丝路国际创意梦工厂4号楼 联系电话:029-87878512 手机:13468700578 联系人:李先生
Copyright ® 2009-2020 RunYusoft.com Inc. All Rights Reserved 
技术支持:西安润宇软件科技有限公司  陕ICP备11000720号