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

C#数字金额转中文大写金额:代码解析 在金融相关的业务场景中,我们常常需要将数字金额转换为中文大写金额,以避免金额被篡改,增加金额的准确性和安全性。本文将深入解析一段 C# 代码,这段代码通过巧妙的设计,实现了将数字金额转换为中文大写金额的功能,让我们一起来揭开它的神秘面纱。 阅读详情

[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
 BMoney="零,壹,贰,叁,肆,伍,陆,柒,捌,玖,拾"
    arrBMoney=split(BMoney,",")
    zMUnit="万,千,百,十,元"
 zlenNum=len(znum)
 zMUnit=right(Replace(zMUnit,",",""),zlenNum)
 dim newZUnit
 for i=1 to len(zMUnit)
     newZUnit=newZUnit&mid(zMUnit,i,1)&","
 next
 zMUnit=left(newZUnit,len(newZUnit)-1)
    arrZMUnit=split(zMUnit,",")
    xMUnit="角,分"
    arrXMUnit=split(xMUnit,",")
 dim strBMoney
 for i=1 to zlenNum
      nChar=CInt(mid(znum,i,1))
   strBMoney=strBMoney&arrBMoney(nChar)&"<b>"&arrZMUnit(i-1)&"</b>"
 next
 if hasDot then
     xlenNum=len(xnum)
     for i=1 to xlenNum
         nChar=CInt(mid(xnum,i,1))
      strBMoney=strBMoney&arrBMoney(nChar)&"<b>"&arrXMUnit(i-1)&"</b>"
     next
 end if
 CBMoney=strBMoney
end function

[ASP.NET(C#)]

说明:CMoney.aspx页面省略,该页面有主要有三个Web Control控件,TextBoxt (id=txtNum),Button,Label(id=lblRet)

  文件名:CMoney.aspx.cs(CBMoney为主要函数)

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace suanFa
{
 /// <summary>
 /// WebForm1 的摘要说明。
 /// </summary>
 public class WebForm1 : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.Label Label1;
  protected System.Web.UI.WebControls.Label Label2;
  protected System.Web.UI.WebControls.Button Button1;
  protected System.Web.UI.WebControls.Label lblRet;
  protected System.Web.UI.WebControls.TextBox txtNum;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.Button1.Click += new System.EventHandler(this.Button1_Click);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  private void Button1_Click(object sender, System.EventArgs e)
  {
   string myNum=txtNum.Text;
   lblRet.Visible=true;
   //lblRet.ForeColor="#ff0000";
   lblRet.Text="结果:"+CBMoney(myNum);
  }
  public string CBMoney(string num)
  {
   string zNum="",xNum="";
   int dPos=num.IndexOf(".");
   if (dPos>0)
   {
            zNum=num.Substring(0,dPos);
   xNum=num.Substring(dPos+1);
   }else
    zNum=num;
   string[] ArrMoney=new string[]{"零","壹","贰","叁","肆","伍","陆","柒","捌","玖","拾"};
   string[] ArrUnit=new string[]{"万","千","百","拾","元"};
   string[] ArrXUnit=new string[]{"角","分"};
   int lenZNum=zNum.Length;
   string[] nArrUnit=new string[lenZNum];
   int j=0;
   for(int i=ArrUnit.Length-lenZNum;i<ArrUnit.Length;i++){
       nArrUnit[j]=ArrUnit[i];
    j++;
   }
   string strMoney="";
   for(int i=0;i<zNum.Length;i++)
   {
    //char[] arrChar=num.ToCharArray();
    string nChar=zNum.Substring(i,1);
    strMoney=strMoney+ArrMoney[Int32.Parse(nChar)]+"<b>"+nArrUnit[i]+"</b>";
   }
   if(dPos>0)
   {
    for(int i=0;i<xNum.Length;i++)
    {
     string nChar=xNum.Substring(i,1);
     strMoney=strMoney+ArrMoney[Int32.Parse(nChar)]+"<b>"+ArrXUnit[i]+"</b>";
    }
   }
   return strMoney;
  }
 }
}

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

相关推荐

IC618新手避坑指南:从零在Linux上配置Cadence Virtuoso环境(含cds.lib文件详解)

本文详细介绍了在Linux系统上配置Cadence Virtuoso IC618环境的完整指南,特别针对新手常见问题提供解决方案。重点解析了cds.lib文件的关键配置,包括库路径定义和工艺库管理,并分享了高效工作流设置和典型问题排查技巧,帮助工程师快速搭建稳定的EDA设计环境。

weixin_26805597的博客 551

金额大小写转换

using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts...

Java世界中的.Net笨鸟 331

Gradle进阶:4:结合Sonarqube进行代码审查

作为代码质量检查的流行工具,比如Sonarqube能够检查代码的“七宗罪”,跟代码结合起来能够更好地提高代码的质量,这篇文章将会介绍如何结合gradle和sonarqube对代码质量与测试覆盖率进行分析。

知行合一 止于至善 1万+

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

using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using Sys

2255

【嵌入式Linux驱动开发】二十四、Linux I2C 驱动上手尝试

  人的前程关于眼界、关乎格局。   志之所趋,无远弗届,穷山复海不能限也;   志之所向,无坚不入,锐兵精甲不能御也。 一、I2C驱动框架简介   Linux内核将 I2C 驱动分为两部分: ①、 I2C 总线驱动, I2C 总线驱动就是 SOC 的 I2C 控制器驱动,也叫做 I2C 适配器驱动。 ②、 I2C 设备驱动, I2C 设备驱动就是针对具体的 I2C 设备而编写的驱动。 1....

悟已往之不谏 知来者之可追 1068

YOLOv8剪枝 lamp剪枝测试精度仅掉0.7个点,速度提高11.8fps!

该摘要介绍了LAMP剪枝方法的创新点和理论分析,重点突出了其最小化L2失真和分层自适应剪枝的特性。LAMP通过引入ξ变量在最坏情况下优化剪枝失真,并简化了计算过程。文章还提供了代码移植的具体步骤,包括创建compress.py文件和相关配置说明。

FJN110的博客 1112

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

【即插即用模块】注意力篇 | TGRS 2025 | CDFIM:通道+空间多尺度注意力,双模态特征融合增强,性能翻倍!

C2DFF-Net提出了一种轻量级跨模态特征融合模块CDFIM,通过模态差异感知和多尺度深度滤波增强双模态互补信息。该模块采用通道-空间注意力协同机制,以极低计算成本(仅增加0.26M参数)提升多模态目标检测性能,在三个遥感数据集上平均提升mAP约1.7%。适用于无人机等边缘设备的实时检测任务,为跨模态融合提供高效解决方案。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 623

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

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

分享经验,共同进步. 3849

二、CANdelaStudio入门-版本介绍

本专栏将由浅入深的展开诊断实际开发与测试的数据库编辑,包含大量实际开发过程中的步骤、使用技巧与少量对Autosar标准的解读。希望能对大家有所帮助,与大家共同成长,早日成为一名车载诊断、通信全栈工程师。 本文介绍CANdelaStudio的各个版本,欢迎各位朋友订阅、评论,可以提出宝贵意见,以持续输出更好的作品,同时会根据评论、私信不定期更新文章内容,以及专栏目录。订阅该专栏的朋友可私信小编免费答疑解惑(^U^)ノ~YOCANdelaStudio——诊断需求定义工具,诊断协议开发软件 ①用户以模板概念为导向

诊断协议那些事儿's blog 1308

VIVADO IP核之FIR插值器多相滤波仿真

网络上有许多文章介绍FIR低通滤波器的使用,包括仿真。关于FIR低通滤波器的使用,我之前的文章已经介绍过了,本文将继续深入介绍FIR插值器多相滤波的使用方法,并将FIR插值多相滤波的结果与MATLAB仿真计算的结果比较,验证了FIR插值器多相滤波使用正确。

m0_66360845的博客 3381

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

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

weixin_33725272的博客 674

SAP 集成泛微 OA Open API 新建流程申请接口

《SAP ERP 与泛微 OA 的系统集成》系列文章。泛微 Open API 是基于 HTTPS 的 Restful 接口,上篇文章,我已经完成了调用业务接口之前的准备工作,这篇文章我以新建流程申请这个系统集成最重要的接口为例,讲解接口设计、泛微 API 调用的过程、遇到的问题、解决的办法。

SAP李斌,本人承诺所有原创文章均不使用任何AI生成技术,请大家放心阅读。 3554

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

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# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

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

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

private string DaXie(string money) { //将小写金额转换成大写金额 double MyNumber = Convert.ToDouble(money); String[] MyScale = { "分", "角", "元", "拾", "佰", "仟", "万", "拾", "佰",

flyingdream123的专栏 7270

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

用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

金额大小写转换的asp完全无错版本

dim tmpnum从第一张页面传过来的小写金额tmpnum=request("page1num")调用并显示大写金额response.write rmb(cdbl(tmpnum))response.end%>common.aspFunction rmb(num)num = FormatNumber(num, 2)Dim numList Dim rmbList Dim numLenDi

spook768的专栏 3390

转换人民币大小金额

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

aiizumt4059的博客 196

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

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

伴老 3316

4、编写程序,根据用户输入的数字转换成相应的中文的大写数字。例如,1.23转换为“壹点贰叁”。

4、编写程序,根据用户输入的数字转换成相应的中文的大写数字。例如,1.23转换为“壹点贰叁”。

寂林的博客 5692

转换英文货币大小写的代码

ABAP开发中遇到要用到英文货币大小写的转化问题,搜索了一下,没有,只好自己来做。FUNCTION ZTRANSFORMNUM.*"----------------------------------------------------------------------*"*"Local interface:*"  IMPORTING*"     REFERENCE(NUM) TYPE  V

吴伟的专栏 2370

将一个键盘输入的数字转化成中文输出(例如:输入1234567,输出:一百二拾三万四千五百六拾七)?

public static String getNumberByChinese(String param) { StringBuffer sb = new StringBuffer(); char[] array = param.toCharArray(); int n1 = array.length / 4;// 求除数 int n2 = array.length % 4;//

shenjianzhuang的专栏 4029

昨天面试的一道编程题 将人民币大写转换成数字,并且保证数据不能超过一亿

昨天面试的一道题,当时我是把答案写在纸上,也没有用IDE调今天再写一遍,测试通过,这样也证明了我的思路是正确的。下面这段代码还可以写得更优美点,比如用静态方法等。 /** * 将人民币大写转换成数字,并且保证数据不能超过一亿 * @author joeho * */public class RMBFormatOutPut { /**  * 测试输入  * @param args  */ p

joeho的专栏 984

Java版 数字金额大写转换

需求:读入一个浮点数值,将其转化为中文金额的大写形式。如123.45,转化为:壹佰贰拾叁元肆角伍分。 以下是各种情况要完善: 1. 当金额为整数,只表示整数部分,省略小数部分,并添加“整”字。如123表示为:壹佰贰拾叁元整。 2.当金额中含有连续的0时,只需写一个“零”即可。如10005表示为:壹万零伍元整。3.10的表示形式。如120表示为:壹佰贰拾元整。而10则表示为:拾元整。 pu...

v5browser 431
上一篇: 新年学习计划
下一篇: 冒泡排序
suscom
博客等级 码龄22年 1粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值