ASP.NET C# 货币转换函数 中文大写金额 英文金额

Asp.net C# 数字货币金额转换为中英文金额写法 该资源是asp.net+c#页面程序,采用四种方法将数字形式的金额转换为中英文金额写法。 立即下载

 

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
// 静态中文转换方法     String GetCnString(String MoneyString)
// 最大转化金额         9999999999999999.99  (16位整数位,2位小数位)
// 方法返回值           转换成功则返回非零长字串,否则返回零长字串

// 静态英文转换方法     String GetEnString(String MoneyString)
// 最大转化金额         999999999999999.99   (15位整数位,2位小数位)
// 方法返回值           转换成功则返回非零长字串,否则返回零长字串

using System;

public class Money
{

    private static readonly String cnNumber = "零壹贰叁肆伍陆柒捌玖";
    private static readonly String cnUnit = "分角元拾佰仟万拾佰仟亿拾佰仟兆拾佰仟";

  

  //  private static readonly String[] enSmallNumber = { "", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE", "TEN", "ELEVEN", "TWELVE", "THIRTEEN", "FOURTEEN", "FIFTEEN", "SIXTEEN", "SEVENTEEN", "EIGHTEEN", "NINETEEN" };
 //   private static readonly String[] enLargeNumber = { "TWENTY", "THIRTY", "FORTY", "FIFTY", "SIXTY", "SEVENTY", "EIGHTY", "NINETY" };
  //  private static readonly String[] enUnit = { "", "THOUSAND", "MILLION", "BILLION", "TRILLION" };

 private static readonly String[] enSmallNumber = { "", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen" };
    private static readonly String[] enLargeNumber = { "Twenty", "Thirty", "forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety" };
    private static readonly String[] enUnit = { "", "Thousand", "Million", "Billion", "Trillion" };


    // 以下是货币金额中文大写转换方法
    public  String GetCnString(String MoneyString)
    {
        String[] tmpString = MoneyString.Split('.');
        String intString = MoneyString;   // 默认为整数
        String decString = "";            // 保存小数部分字串
        String rmbCapital = "";            // 保存中文大写字串
        int k;
        int j;
        int n;

        if (tmpString.Length > 1)
        {
            intString = tmpString[0];             // 取整数部分
            decString = tmpString[1];             // 取小数部分
        }
        decString += "00";
        decString = decString.Substring(0, 2);   // 保留两位小数位
        intString += decString;

        try
        {
            k = intString.Length - 1;
            if (k > 0 && k < 18)
            {
                for (int i = 0; i <= k; i++)
                {
                    j = (int)intString[i] - 48;
                    // rmbCapital = rmbCapital + cnNumber[j] + cnUnit[k-i];     // 供调试用的直接转换
                    n = i + 1 >= k ? (int)intString[k] - 48 : (int)intString[i + 1] - 48; // 等效于 if( ){ }else{ }
                    if (j == 0)
                    {
                        if (k - i == 2 || k - i == 6 || k - i == 10 || k - i == 14)
                        {
                            rmbCapital += cnUnit[k - i];
                        }
                        else
                        {
                            if (n != 0)
                            {
                                rmbCapital += cnNumber[j];
                            }
                        }
                    }
                    else
                    {
                        rmbCapital = rmbCapital + cnNumber[j] + cnUnit[k - i];
                    }
                }

                rmbCapital = rmbCapital.Replace("兆亿万", "兆");
                rmbCapital = rmbCapital.Replace("兆亿", "兆");
                rmbCapital = rmbCapital.Replace("亿万", "亿");
                rmbCapital = rmbCapital.TrimStart('元');
                rmbCapital = rmbCapital.TrimStart('零');

                return rmbCapital;
            }
            else
            {
                return "";   // 超出转换范围时,返回零长字串
            }
        }
        catch
        {
            return "";   // 含有非数值字符时,返回零长字串
        }
    }

    // 以下是货币金额英文大写转换方法
    public  String GetEnString(String MoneyString)
    {
        String[] tmpString = MoneyString.Split('.');
        String intString = MoneyString;   // 默认为整数
        String decString = "";            // 保存小数部分字串
        String engCapital = "";            // 保存英文大写字串
        String strBuff1;
        String strBuff2;
        String strBuff3;
        int curPoint;
        int i1;
        int i2;
        int i3;
        int k;
        int n;

        if (tmpString.Length > 1)
        {
            intString = tmpString[0];             // 取整数部分
            decString = tmpString[1];             // 取小数部分
        }
        decString += "00";
        decString = decString.Substring(0, 2);   // 保留两位小数位

        try
        {
            // 以下处理整数部分
            curPoint = intString.Length - 1;
            if (curPoint >= 0 && curPoint < 15)
            {
                k = 0;
                while (curPoint >= 0)
                {
                    strBuff1 = "";
                    strBuff2 = "";
                    strBuff3 = "";
                    if (curPoint >= 2)
                    {
                        n = int.Parse(intString.Substring(curPoint - 2, 3));
                        if (n != 0)
                        {
                            i1 = n / 100;            // 取佰位数值
                            i2 = (n - i1 * 100) / 10;    // 取拾位数值
                            i3 = n - i1 * 100 - i2 * 10;   // 取个位数值
                            if (i1 != 0)
                            {
                           //    strBuff1 = enSmallNumber[i1] + " HUNDRED ";

                                strBuff1 = enSmallNumber[i1] + " Hundred ";
                            }
                            if (i2 != 0)
                            {
                                if (i2 == 1)
                                {
                                    strBuff2 = enSmallNumber[i2 * 10 + i3] + " ";
                                }
                                else
                                {
                                    strBuff2 = enLargeNumber[i2 - 2] + " ";
                                    if (i3 != 0)
                                    {
                                        strBuff3 = enSmallNumber[i3] + " ";
                                    }
                                }
                            }
                            else
                            {
                                if (i3 != 0)
                                {
                                    strBuff3 = enSmallNumber[i3] + " ";
                                }
                            }

                            engCapital = strBuff1 + strBuff2 + strBuff3 + enUnit[k] + " " + engCapital;
                        }
                    }
                    else
                    {
                        n = int.Parse(intString.Substring(0, curPoint + 1));
                        if (n != 0)
                        {
                            i2 = n / 10;      // 取拾位数值
                            i3 = n - i2 * 10;   // 取个位数值
                            if (i2 != 0)
                            {
                                if (i2 == 1)
                                {
                                    strBuff2 = enSmallNumber[i2 * 10 + i3] + " ";
                                }
                                else
                                {
                                    strBuff2 = enLargeNumber[i2 - 2] + " ";
                                    if (i3 != 0)
                                    {
                                        strBuff3 = enSmallNumber[i3] + " ";
                                    }
                                }
                            }
                            else
                            {
                                if (i3 != 0)
                                {
                                    strBuff3 = enSmallNumber[i3] + " ";
                                }
                            }
                            engCapital = strBuff2 + strBuff3 + enUnit[k] + " " + engCapital;
                        }
                    }

                    ++k;
                    curPoint -= 3;
                }
                engCapital = engCapital.TrimEnd();
            }


            // 以下处理小数部分
            strBuff2 = "";
            strBuff3 = "";
            n = int.Parse(decString);
            if (n != 0)
            {
                i2 = n / 10;      // 取拾位数值
                i3 = n - i2 * 10;   // 取个位数值
                if (i2 != 0)
                {
                    if (i2 == 1)
                    {
                        strBuff2 = enSmallNumber[i2 * 10 + i3] + " ";
                    }
                    else
                    {
                        strBuff2 = enLargeNumber[i2 - 2] + " ";
                        if (i3 != 0)
                        {
                            strBuff3 = enSmallNumber[i3] + " ";
                        }
                    }
                }
                else
                {
                    if (i3 != 0)
                    {
                        strBuff3 = enSmallNumber[i3] + " ";
                    }
                }

                // 将小数字串追加到整数字串后
                if (engCapital.Length > 0)
                {

                    //engCapital = engCapital + " AND CENTS " + strBuff2 + strBuff3;   // 有整数部分时

                    engCapital = engCapital + " And Cents " + strBuff2 + strBuff3;   // 有整数部分时
                }
                else
                {

                     //engCapital = "CENTS " + strBuff2 + strBuff3;   // 只有小数部分时

                    engCapital = "Cents " + strBuff2 + strBuff3;   // 只有小数部分时
                }
            }

            engCapital = engCapital.TrimEnd();
            return engCapital;
        }
        catch
        {
            return "";   // 含非数字字符时,返回零长字串
        }
    }
}

 

asp中将字符串转数字的函数小结 常常因为一些小地放的失误导致整个程序瘫痪.今天就遇到了.一个商城系统.因为计算整得我改了N久 在此记下这些数据转换的函数 cstr()转换成字符串 cint()转换成数字 先用isnumberic函数判断 clng()转换为 Long 类型的 Variant(推荐使用clng代替cint,尤其是文章id等可能出现大于65536的数字) 整形……转字符形用:cstr()函数 字符形转整形用:cint()函数 字符形转长整形用:clng()函数 函数列表 CBool Boolean 任何有效的字符串或数值表达式。 CByte Byte 0 至 255。 CCur Currency -922,3 立即下载

相关推荐

e-puck场景搭建

可以注意到一个黑色的小窗口出现在三维视图的左上角。它显示了电子吸盘机器人的摄像头拍摄的图像。该图像将保持黑色,直到机器人的控制器明确启用相机。最后,单击右上角的“x”可以关闭它。在对话框中,选择PROTO节点(Webots项目)/robots/gctronic/e-puck/e-puck(Robot)。一个电子吸盘机器人应该出现在竞技场的中央。通过按Alt+左键单击+拖动,对机器人施加力。无法对WoodenBox节点施加力,因为默认情况下,它们没有质量,并且被视为粘在地板上。将新控制器与机器人链接。

weixin_66540163的博客 767

C#中将数字金额转成英文大写金额的函数

<span style="white-space:pre"> </span>/// <summary> /// 数字转金额大写 /// 调用示例:String desc = CommonUtils.convertEnDes(new Decimal("100.55"), "say", "RMB", "only")); ...

weixin_33725272的博客 675

硬全桥副边钳位管Vds电压凸台揭秘——寄生参数引发的导通异常

本文深入分析了硬全桥副边钳位管Vds电压凸台现象,揭示了寄生参数如何引发导通异常。通过波形分析和工程实践,详细解析了走线电感的蓄能效应和体二极管的接力作用,并提供了PCB布局优化、元件选型和驱动电路调整等解决方案,帮助工程师有效应对这一常见问题。

weixin_30825581的博客 429

ASP.NET 实现人民币大写转换函数

转换函数如下代码所示: public static string GetBig(string num) { string result=null; string chNum = "零壹贰叁肆伍陆柒捌玖";//定义好大写的数字 string zheng = "元拾佰仟万拾佰仟亿拾佰仟万";//定义好

分享经验,共同进步. 3849

mos管结电容等效模型_MOS管的防冲击防反接电路

MOS管的反接和抑制冲击一:原理分析MOS管由于生产工艺等因素,会产生相应的寄生电容,体二极管等。Mos管的寄生电容如图1所示,可以看到其具有三个寄生电容:G和S的电容Cgs;G和D的电容:Cgd,也称为反向传输电容、米勒电容、Crss;D和S的电容Cds。D和S之间的体二极管D1.图 1:MOS管等效模型寄生电容的数值可以从元器件的datasheet中得到,如图2,图3:Ciss(输入电容)=C...

weixin_29179583的博客 1858

MobileViT替换YOLOv11主干网络:轻量化新思路-(用MobileViT等轻量视觉Transformer降低计算成本)

在计算机视觉领域,目标检测一直是核心任务之一,而YOLO(You Only Look Once)系列算法因其出色的速度-精度平衡成为工业界和学术界的热门选择。随着YOLOv11的推出,模型性能达到了新的高度,但其计算复杂度和参数量也随之增加,这对资源受限的移动设备和嵌入式系统提出了挑战。与此同时,视觉Transformer(ViT)的出现为计算机视觉带来了全新范式,但其庞大的计算需求限制了在移动端的应用。MobileViT作为一种创新的轻量级视觉Transformer架构,巧妙结合了CNN的归纳偏置优势和V

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1647

asp.net 写一个RMB金额大写转换器(源码)

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Collections; public partial class _Defa

用智慧创新技术,用技术改变未来 853

kaggle学习笔记-餐厅数据挖掘

分析Zomato数据集的基本思想是为了公平地了解影响在班加罗尔不同地方建立不同类型餐厅的因素,每个餐厅的总评级,班加罗尔是这样一个城市,拥有超过12,000家餐厅,餐厅供应来自世界各地的菜肴。每天都有新的餐馆开业,这个行业还没有饱和,需求也在与日俱增。然而,尽管需求不断增加,新餐馆却很难与老牌餐馆竞争。大多数餐厅都供应同样的食物。班加罗尔是印度的IT之都。这里的大多数人主要依靠餐馆的食物,因为他们没有时间自己做饭。由于对餐馆的需求如此巨大,因此研究一个地方的人口统计学就变得很重要。

优快云XXCQ的博客 1862

.NET把小写数字金额转换成大写人民币金额的两种算法

第一种方法: 用正则表达式,C#方法如下 usingSystem.Text.RegularExpressions;//首先引入命名空间 privatestringDaXie(string money) { string s =double.Parse(money).ToString("#L#E#D#C#K#E#D#C#J#E#D#C#I#E#D#C#H#E#D#C#G#E#D#C#F#E#D#C#.0B0A"); string d =Regex....

小熊猫 1155

樽海鞘优化算法详解:原理、实现与应用

本文详细介绍了樽海鞘优化算法(SSA)的原理、实现与应用。该算法模拟樽海鞘链式群体行为,将优化问题解空间映射为群体移动空间,通过领导者引导和追随者跟随的协作机制寻找最优解。文章从生物特性、数学模型到Python代码实现进行了系统阐述,包括种群初始化、位置更新公式和收敛因子等核心要素,并展示了算法在函数优化等领域的应用潜力。该算法具有结构简单、参数少、实现容易等特点,在多种优化问题上表现良好。

qq_42212808的博客 646

innovus:ccopt_design分段长tree操作

这步don't touch保证后面完整cts尽量不会动到已经长过的tree。需要给sub tree手写一个spec,参考create_ccopt_clock_tree_spec -file的写法,只写create_ccopt_clock_tree和skew group部分就行。

m0_61544122的博客 1678

ASP数字大小写转换的一种方法

     function   regInput(reg)     {     var   srcElem =   event.srcElement     var   oSel =   document.selection.createRange()     oSel   =   oSel.duplicate()     oSel.text   =   ""     var   srcRange

kueruo的专栏 2282

科研项目数据抓取:Python爬虫实现与分析

本文详细介绍了如何使用Python爬虫抓取科研项目的数据,涵盖了从目标数据源选择到数据存储与分析的整个过程。通过使用。

2201_76125261的博客 1710

用JS将小写金额转成大写

比较经典的代码!保留2位小数,否则会出错!整数金额必须为格式:12345.00 否则会出错!如果结合ASP的FormatCurrency,可解决这个问题! function Arabia_to_Chinese(Num){ for(i=Num.length-1;i>=0;i--) {  Num = Num.replace(",","")//替换tomoney()中的“,”  Num

思科网络 1410

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

将人民币的数字转化成大写表示 [asp]

 call Money(1605893.21)function Money(thenumber)dim Money,i,String1,String2,length,checkp定义变量dim one(),onestr()定义数组 String1 = "零壹贰叁肆伍陆柒捌玖"String2 = "万仟佰拾亿仟佰拾万仟佰拾元角分厘毫" checkp=instr(thenumb

伴老 3316

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

一道面试题(把数字货币表示转换为大写表示,如把123.45转换为壹百贰拾叁元肆角伍分 )

[ASP代码]Response.Write(CBMoney(12345.67))function CBMoney(num)    if inStr(num,".")>0 then        arrNum=split(num,".")     zNum=arrNum(0)     xNum=arrNum(1)  hasDot=true else     zNum=num end ifss BMo

追梦痴人(ASP,C#,DotNet) 2476

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

将数字转换成大写的金额换算函数

Function rmb(num)num = FormatNumber(num, 2)Dim numList Dim rmbList Dim numLenDim numCharDim numstrDim n Dim n1, n2 Dim hznumList = "零壹贰叁肆伍陆柒捌玖"rmbList = "分角元拾佰仟万拾佰仟亿拾佰仟万"If num > 9999999999999.99

cqhand的专栏 1477

C# 货币金额中文(英文)大写转换方法-工具类

public static class Money { private static readonly String cnNumber = "零壹贰叁肆伍陆柒捌玖"; private static readonly String cnUnit = "分角元拾佰仟万拾佰仟亿拾佰仟兆拾佰仟"; private static re...

weixin_30832351的博客 452

转换人民币大小金额

usingSystem;namespaceTest{/**//**//**////<summary>///Rmb的摘要说明。///</summary>publicclassRmb{/**//**//**////<summary>///...

aiizumt4059的博客 196

asp.net 转换人民币方法

code using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Text.RegularExpressions; namespace jquery

suntanyong88的专栏 9586

doc2html asp,ASP常见问题及解答(3)-ASP教程,ASP技巧

1.图片显示控制:var flag=false;function drawimage(imgd){var image=new image();image.src=imgd.src;if(image.width>0 && image.height>0){flag=true;if(image.width/image.height>= 360/270){if(image...

weixin_39744894的博客 229

一个Asp中将小写金额转换为大写的函数

 function returnGB(N)  Dim Snz,A,B,C,WeiSz,JieG,i  Snz=split(cstr(N),".")(0)//整数部分转字串  A=array( "零","壹","贰","叁","肆","伍","陆","柒","捌","玖")  B=array("元","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟","万") 

李豹 1179

小写金额转换成大写金额

将大写的数字和单位分别保存在两个字符串中 去除用户输入的小写金额中的小数点 根据用户输入的小写金额长度取出该字符串所用的单位 取出小写字符对应的大写字符,并与单位组成新的字符串,对小写金额中存在连续多个0的情况进行处理 对用户输入的小写金额进行合理性判断 function convert(){ var money_num = document.getElementById("money_n...

you can you up up up的博客 2532
上一篇: DropDownList下拉时分两列显示,或者带个表格显示 模拟CSS
下一篇: ASP.NET 开发RDLC
那小x的传说
博客等级 码龄17年 52粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值