zoukankan      html  css  js  c++  java
  • 中文转换成数字金额C#【转】

    原文地址:http://shinylife.net/blog/article.asp?id=1064

    ///
            /// 中文转换成数字金额
            ///
            /// 
            /// 
            public static double DecodeMoneyCn(string AText)
            {
                AText = AText.Replace("亿亿", "兆");
                AText = AText.Replace("万万", "亿");
                AText = AText.Replace("点", "元");
                AText = AText.Replace("块", "元");
                AText = AText.Replace("毛", "角");
                double vResult = 0;
                double vNumber = 0; // 当前数字
                double vTemp = 0;
                int vDecimal = 0; // 是否出现小数点
                foreach (char vChar in AText)
                {
                    int i = "零一二三四五六七八九".IndexOf(vChar);
                    if (i < 0) i = "洞幺两三四五六拐八勾".IndexOf(vChar);
                    if (i < 0) i = "零壹贰叁肆伍陆柒捌玖".IndexOf(vChar);
                    if (i > 0)
                    {
                        vNumber = i;
                        if (vDecimal > 0)
                        {
                            vResult += vNumber * Math.Pow(10, -vDecimal);
                            vDecimal++;
                            vNumber = 0;
                        }
                    }
                    else
                    {
                        i = "元十百千万亿".IndexOf(vChar);
                        if (i < 0) i = "整拾佰仟万亿兆".IndexOf(vChar);
                        if (i == 5) i = 8;
                        if (i == 6) i = 12;
                        if (i > 0)
                        {
                            if (i >= 4)
                            {
                                vTemp += vNumber;
                                if (vTemp == 0) vTemp = 1;
                                vResult += vTemp * Math.Pow(10, i);
                                vTemp = 0;
                            }
                            else vTemp += vNumber * Math.Pow(10, i);
                        }
                        else
                        {
                            i = "元角分".IndexOf(vChar);
                            if (i > 0)
                            {
                                vTemp += vNumber;
                                vResult += vTemp * Math.Pow(10, -i);
                                vTemp = 0;
                            }
                            else if (i == 0)
                            {
                                vTemp += vNumber;
                                vResult += vTemp;
                                vDecimal = 1;
                                vTemp = 0;
                            }
                        }
                        vNumber = 0;
                    }
                }
                return vResult + vTemp + vNumber;
            }

  • 相关阅读:
    泛社交泛泛之交也很重要
    iOS 切后台挂机
    iOS 导航栏translucent用法
    iOS 中UIButton中文字换行
    iOS 给UIimageView添加UITapGestureRecognizer手势点击事件
    iOS15UITableView多了白条,导航栏和Tabbar变成白色和标题变黑处理总结属性变化和原来基本的导航栏属性总结记录(看到就更新)
    iOS延时定时功能
    iOS uiview添加背景图案
    iOS 导航栏返回把样式带回前面怎么办
    iOS 识别图片二维码demo,复制粘贴即用
  • 原文地址:https://www.cnblogs.com/keewit/p/2719691.html
Copyright © 2011-2022 走看看