public static string CNMoney(double num) { var A = new[] { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; var B = new[] { "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "万" }; var C = new[] { "角", "分", "厘", "毫" }; var numArray = num.ToString().Split('.'); var len = numArray[0].Length - 1; var query1 = numArray[0].Select((s, i) => A[int.Parse(s.ToString())] + B[len - i]); var query2 = numArray[1].Select((s, i) => A[int.Parse(s.ToString())] + C[i]); return string.Format("{0} {1}", string.Join("", query1), string.Join("", query2)); }