将中文数字转换成阿拉伯数字
代码从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; } } |
分类:
代码收藏
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决