美文网首页
C#将阿拉伯整数转成汉字

C#将阿拉伯整数转成汉字

作者: 全新的饭 | 来源:发表于2023-11-28 15:48 被阅读0次

原文

C# 阿拉伯整数转中文算法

代码

string NumToHanzi(int num)
{
    string[] nums = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" };
    string[] units = { "", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千" };

    if (num == 0)
    {
        return nums[0];
    }
    string sign = "";
    if (num < 0)
    {
        sign = "负";
        num = -num;
    }
    string strNum = num.ToString();
    char[] chars = strNum.ToCharArray();
    Array.Reverse(chars);
    strNum = new string(chars);
    string result = "";
    for (int i = 0; i < strNum.Length; i++)
    {
        int digit = int.Parse(strNum[i].ToString());
        result = nums[digit] + units[i] + result;
    }
    result = result.Replace("零十", "零").Replace("零百", "零").Replace("零千", "零").Replace("亿万", "亿").Replace("一十", "十");
    while (result.Contains("零零"))
    {
        result = result.Replace("零零", "零");
    }
    if (result.EndsWith("零"))
    {
        result = result.Remove(result.Length - 1);
    }
    result = sign + result;
    return result;
}

相关文章

网友评论

      本文标题:C#将阿拉伯整数转成汉字

      本文链接:https://www.haomeiwen.com/subject/iwqxgdtx.html