zoukankan      html  css  js  c++  java
  • C#:转换成中文数字

           

    代码
    /// <summary>
    /// 转换成中文数字
    /// </summary>
    /// <param name="number"></param>
    /// <returns></returns>
    public static string ToChineseNum(double number)
    {
    string numList = "零壹贰叁肆伍陆柒捌玖";
    string rmbList = "分角元拾佰仟万拾佰仟亿拾佰仟万";
    string tempOutString = null;


    if (number < 0)
    {
    number
    = -number;
    tempOutString
    = "";
    }

    if (number > 9999999999999.99)
    return "超出范围的人民币值";

    //将小数转化为整数字符串
    string tempNumberString = Convert.ToInt64(number * 100).ToString();
    int tempNmberLength = tempNumberString.Length;
    int i = 0;
    while (i < tempNmberLength)
    {
    int oneNumber = Int32.Parse(tempNumberString.Substring(i, 1));
    string oneNumberChar = numList.Substring(oneNumber, 1);
    string oneNumberUnit = rmbList.Substring(tempNmberLength - i - 1, 1);
    if (oneNumberChar != "")
    tempOutString
    += oneNumberChar + oneNumberUnit;
    else
    {
    if (oneNumberUnit == "亿" || oneNumberUnit == "" || oneNumberUnit == "" || oneNumberUnit == "")
    {
    while (tempOutString.EndsWith(""))
    {
    tempOutString
    = tempOutString.Substring(0, tempOutString.Length - 1);
    }
    }
    if (oneNumberUnit == "亿" || (oneNumberUnit == "" && !tempOutString.EndsWith("亿")) || oneNumberUnit == "")
    {
    tempOutString
    += oneNumberUnit;
    }
    else
    {
    try
    {
    bool tempEnd = tempOutString.EndsWith("亿");
    bool zeroEnd = tempOutString.EndsWith("");
    if (tempOutString.Length > 1)
    {
    bool zeroStart = tempOutString.Substring(tempOutString.Length - 2, 2).StartsWith("");
    if (!zeroEnd && (zeroStart || !tempEnd))
    tempOutString
    += oneNumberChar;
    }
    else
    {
    if (!zeroEnd && !tempEnd)
    tempOutString
    += oneNumberChar;
    }
    }
    catch
    {
    return "零元零分";
    }
    }
    }
    i
    += 1;
    }

    while (tempOutString.EndsWith(""))
    {
    tempOutString
    = tempOutString.Substring(0, tempOutString.Length - 1);
    }

    if (tempOutString.EndsWith("") || tempOutString.EndsWith(""))
    {
    tempOutString
    = tempOutString + "";
    }

    return tempOutString;
    }

    作者:罗敏贵
    邮箱:minguiluo@163.com
    QQ群:34178394 建群 主要是寻找志同道合的人士一起学习和讨论自己的所学所思
    出处:http://luomingui.cnblogs.com/
    说明:专注于微软平台项目架构、熟悉设计模式、架构设计、敏捷个人和项目管理。现主要从事WinForm、ASP.NET、等方面的项目开发、架构、管理工作。文章为作者平时里的思考和练习,可能有不当之处,请博客园的园友们多提宝贵意见。
    知识共享许可协议本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。

  • 相关阅读:
    IOS学习计划
    IOS学习计划
    Android 多线程注意事项
    Android BroadcastReceiver 的简单实现
    新书《iOS编程(第6版)》抢鲜试读
    Apple Watch 2.0 数据通讯
    iOS 9 新特性
    Apple Watch 1.0 开发介绍 2.1 WatchKit Apps UI要点
    Apple Watch 1.0 开发介绍 1.4 简介 使用iOS技术
    Apple Watch 1.0 开发介绍 1.3 简介 WatchKit App 架构
  • 原文地址:https://www.cnblogs.com/luomingui/p/1782691.html
Copyright © 2011-2022 走看看