c# 中文数字转阿拉伯数字
c# 中文数字转阿拉伯数字
这是一个很常见的需求。我一时找不到现成的库,就自己写了一个。仅供参考。
代码
工具类 ChineseNumHelper
namespace YourNameSpace
{public class ChineseNumHelper{private static readonly Dictionary<char, long> DigitMap = new Dictionary<char, long>{{'零', 0}, {'〇', 0},{'一', 1}, {'壹', 1},{'二', 2}, {'两', 2}, {'贰', 2},{'三', 3}, {'叁', 3},{'四', 4}, {'肆', 4},{'五', 5}, {'伍', 5},{'六', 6}, {'陆', 6},{'七', 7}, {'柒', 7},{'八', 8}, {'捌', 8},{'九', 9}, {'玖', 9}};private static readonly Dictionary<char, long> UnitMap = new Dictionary<char, long>{{'十', 10}, {'拾', 10},{'百', 100}, {'佰', 100},{'千', 1000}, {'仟', 1000},{'万', 10000}, {'萬', 10000},{'亿', 100000000}, {'億', 100000000}};/// <summary>/// 将中文数字转换为阿拉伯数字/// </summary>/// <param name="chineseNum">中文数字字符串</param>/// <returns>对应的阿拉伯数字</returns>public static long ConvertChineseNumToLong(string chineseNum){const long dfltNum = 0;if (string.IsNullOrWhiteSpace(chineseN