货币金额大写转换2

ACCESS中自定义大写金额函数 在ACCESS中点Visual Basic ,添加模块,将以下代码复制粘贴到通用部分,即可在该数据库查询中使用函数 getdxje(金额字段)实现人民币金额大写转换。 立即下载
using System;

namespace JiajieERP
{
    /// <summary>
    /// clsNumtoCapital 的摘要说明。
    /// </summary>
    public class clsNumtoCapital
    {
        private   static   string   []   HanDigiStr   =   {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};  
   
        private   static   string   []   HanDiviStr   =   {   "","拾","佰","仟","万","拾","佰","仟","亿",  
                                                              "拾","佰","仟","万","拾","佰","仟","亿",  
                                                              "拾","佰","仟","万","拾","佰","仟"   };
        public clsNumtoCapital()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }

        private   static   string   PositiveIntegerToHanStr(string   NumStr)  
        {           //   输入字符串必须正整数,只允许前导空格(必须右对齐),不宜有前导零  
            string   RMBStr="";  
            int   len,n;  
            bool   hasvalue=false,lastzero=false;       //   亿、万进位前有数值标记  
   
            len   =   NumStr.Length;  
   
            for(int   i=0;i<len;i++)    
            {  
                // if(   NumStr[i]=='   '   )   continue;             //   AnsiString[]   base   is   1  
                n   =   NumStr[i]   -   '0';  
                // if(   n<0   ||   n>9   )   return   "输入含非数字字符!";  
                int   j=len-i-1;  
                if(   n!=0   )    
                {  
                    if(   lastzero   )   RMBStr   +=   HanDigiStr[0]; //若干零后若跟非零值,只显示一个零  
                    //   除了亿万前的零不带到后面  
                    // if(   !(   n==1   &&   (i%4)==1   &&   (lastzero   ||   i==len-1)   )   )       //   如十进位前有零也不发壹音用此行  
                    //       if(   !(   n==1   &&   (i%4)==1   &&   i==len-1   )   )  // 十进位处于第一位不发壹音  
                    RMBStr   +=   HanDigiStr[n];  
                    RMBStr   +=   HanDiviStr[len-i-1];       //   非零值后加进位,个位为空  
                    hasvalue   =   true;                   //   置万进位前有值标记  
                }  
                else    
                {  
                    if(   j==8   ||   j==4   &&   hasvalue   )     //   亿万之间必须有非零值方显示万  
                        RMBStr   +=   HanDiviStr[len-i-1];     //   “亿”或“万”  
                }  
                if(   j%8==0   )   hasvalue   =   false;           //   万进位前有值标记逢亿复位  
                lastzero   =   (n==0)   &&   (j%4!=0);     //   亿万前有零后不加零,如:拾万贰仟  
            }  
   
            if(   RMBStr.Length==0   )   return   HanDigiStr[0];       //   输入空字符或"0",返回"零"  
            return   RMBStr;  
        }  
   
        public   static   string   NumToRMBStr(double   val)  
        {  
            if(val>100000000000)  
                return   "数字过大!";   //不小于千亿(可以更大点但没有什么意义了)  
            string   SignStr="",TailStr="";  
            double   fraction=0;  
            Int64   integer=0;  
            if(   val<0   )    
            {  
                val   =   -val;  
                SignStr   =   "负";  
            }  
   
            integer=Convert.ToInt64(val-val%1);   //整数部分   由于ToInt64本身有四舍五入功能所以要加   val%1   部分  
            int   jiao,fen;  
   
            fraction   =   Math.Round(val%1,2);   //   四舍五入到分   在.Net中四舍五入有点争议,它是伍不进位的。  
            fen   =   Convert.ToInt32((fraction*100)%10);//分  
            jiao   =   Convert.ToInt32((fraction*100-fen)/10);//角
  
            if(   jiao==0   &&   fen==0   )    
            {  
                TailStr   =   "整";  
            }  
            else    
            {  
                TailStr   =   HanDigiStr[jiao];  
                if(   jiao!=0   )  
                    TailStr   +=   "角";  
                if(   integer==0   &&   jiao==0   )                           //   零元后不写零几分  
                    TailStr   =   "";  
                if(   fen!=0   )  
                    TailStr   +=   HanDigiStr[fen]   +   "分";  
            }  
   
            //   下一行可用于非正规金融场合,0.03只显示“叁分”而不是“零元叁分”  
            //                 if(   integer==0   )   return     SignStr+TailStr;  
   
            return   SignStr+PositiveIntegerToHanStr(   integer.ToString()   )+"元"+TailStr;  
        }


    }
}
Vue3集成百度实时语音识别 阅读详情

相关推荐

SC8F073单片机串口通信保姆级教程:从寄存器配置到完整收发Demo(附避坑指南)

本文详细解析了SC8F073单片机串口通信的寄存器配置与调试技巧,涵盖TXSTA、RCSTA和SPBRG寄存器的逐位设置,提供精确的波特率计算方法和工业级抗干扰策略。通过完整的收发Demo和避坑指南,帮助开发者快速掌握底层串口通信技术,适用于工业控制等严苛环境。

weixin_33724046的博客 486

C#,JAVA人民币小写转大写

在优快云里看到的,先在这里copy到这里留作以后备用 1 View Code 1 package fendou.wyb.io; 2 3 public class MoneySmallToBig { 4 5 /** 6 * 人民币大小写转换 7 */ 8 public static String[] number = new St...

weixin_30726161的博客 250

AUTOSAR知识点 之 XCP (二):XCP基础概念

学习XCP的过程中,对XCP的基本概念要做一个全面的认知,因为里面有很多缩写以及难以理解的点,假设对此模模糊糊一知半解,那么对整个协议栈的认知会遇到极大的障碍。XCP的信号流传输图示如下XCP 标准主要分为 5 个部分:这部分提供了对于协议的一个概况介绍,包括 XCP 的功能和基础性内容。这部分内容对协议层进行了详细的规范和说明。

梦想技术家 2770

金钱小写转换为大写

/** 数字金额大写转换(可以处理整数,小数,负数) */  02 function upDigit(n)   03 {  04     var fraction = ['角', '分'];  05     var digit = ['零', '壹', '

IT忍者神龟 887

FPGA入门200例(17):如何阅读RTL原理图(Schematic)?将Verilog代码与门级电路对应

本文针对FPGA开发新手常见误区,重点讲解了RTL原理图的重要性和阅读方法。文章指出,仅通过仿真验证代码会导致板级测试异常,而RTL原理图能直观呈现Verilog代码对应的硬件结构(门电路、寄存器、多路选择器等)。通过"识别基础元件→跟踪信号路径→验证逻辑关系"的三步法,新手可以建立代码与硬件的映射思维,排查冗余逻辑、意外锁存器等错误。文章还结合Vivado/Quartus工具操作指南和典型代码案例,帮助读者掌握从代码到硬件实现的转换过程,避免混淆RTL与门级原理图、忽略信号位宽等常见误

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 203

Python全栈入门到实战【基础篇 22】生成器与迭代器:底层逻辑与实战场景

Python迭代器与生成器:惰性求值的高效实践 摘要:本文深入解析Python中迭代器和生成器的核心机制与应用场景。迭代器通过实现__iter__()和__next__()方法实现惰性求值,适合处理大数据集和无限序列。生成器作为迭代器的简化实现,通过yield关键字自动实现迭代器协议,代码更简洁。文章详细对比了可迭代对象与迭代器的区别,演示了自定义迭代器和生成器函数的实现方式,并介绍了生成器表达式这一高效替代列表推导式的方案。通过斐波那契数列等实例,展示了惰性求值在内存优化方面的优势,以及生成器在流式数据处

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 3263

数字小写转大写

package com.genersoft.pension.utils; import java.math.BigDecimal; import java.text.NumberFormat; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /**    * 程序目

iechenyb专栏 1745

【漏洞复现】WordPress Plugin NotificationX 存在sql注入CVE-2024-1698

技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。WordPress和WordPress plugin都是WordPress基金会的产品。WordPress Plugin NotificationX 存在安全漏洞,该漏洞源于对用户提供的参数转义不充分以及对现有 SQL 查询缺乏充分的准备,很容易通过“type”参数受到 SQL 注入攻击。

失心少年 1384

人民币大写金额转换算法

《疯狂Java讲义》里面的一道练习题:将浮点数转成人民币读法字符串,例如将1006.33转为壹仟零陆元叁角叁分。 根据人民币大写金额规范,转换有几点要注意的: 阿拉伯数字中间有“0”时,中文大写金额中间可以只写一个“零”字。如¥1,409.50,应写成人民币壹仟肆佰零玖元伍角。 阿拉伯数字中间连续有几个“0”,中文大写金额中间可以只写一个“零”字,如¥6,007.14,应写成人民币陆仟零...

weixin_34395205的博客 2155

光学设计仿真软件:Code V_(8).场曲和色差校正

通过以上步骤和代码示例,用户可以更好地理解如何在Code V中进行场曲和色差的校正。这些技术不仅有助于提高光学系统的成像质量,还可以为后续的光学设计提供重要的参考。在实际应用中,用户可以根据具体需求选择合适的校正方法和优化策略,以达到最佳设计效果。

kkchenjj的博客 1786

2023华为od机试C卷【最富裕的小家庭】Python 实现

在一颗树中,每个节点代表一个家庭成员,节点的数字表示其个人的财富值,一个节点及其直接相连的子节点被定义为个小家庭。现给你一颗树,请计算出最富裕的小家庭的财富和。

MISAYAONE的博客 2045

货币金额大写转换库源码 Money2String.dll

这是很早以前的了,曾被VC知识库论坛收为精华贴(http://www.vckbase.com/bbs/prime/viewprime.asp?id=576)。也曾被许多论坛转载。今收于此,以作纪念。 // 货币金额大写转换库   Money2String.dll // 静态中文转换方法     String GetCnString(String MoneyString)

xlfancy的专栏 1589

【2025最新版】Open3D 区域生长分割(python详细过程版)

点云区域生长分割算法的python详细过程版实现。博客长期更新,本文最新更新时间为:2025年3月23日。

点云侠的博客 9529

【Java】ChineseCurrencyConverterV2(货币金额大写转换工具类Ver.2)

这篇文章摘要: 一个功能完善的Java人民币金额大写转换工具类,支持双向转换(数字金额↔中文大写)。工具采用"两级单调+分层校验"架构,提供标准模式和拓展模式(支持兆/京/垓等大额单位),金额范围覆盖0.01分至千亿级。设计遵循财务规范,包含详细的数字书写规则,如零字处理、单位使用等。工具类采用无状态纯函数设计,线程安全,通过ConvertConfig配置类灵活控制转换行为(如是否省略零元前缀、分段模式等)。内部实现包含扫描状态跟踪和严格校验机制,确保转换准确性和合规性。

XKIND'S 博客 343

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

货币金额大写转换库(VB) Money2String.dll

 ******************货币金额大写转换库 Money2String.dll ********************* 中文大写转换方法       String GetCnString(String MoneyString) 最大转化金额           999999999999999999999999.99  (24位整数位,2位小

xlfancy的专栏 1166

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

货币金额大写转换1

 // 货币金额大写转换库   Money2String.dll// 静态中文转换方法     String GetCnString(String MoneyString)// 最大转化金额         9999999999999999.99  (16位整数位,2位小数位)// 方法返回值           转换成功则返回非零长字串,否则返回零长字串// 静态英文转换方法     Strin

doublewang的专栏 1951

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

[收藏|转贴]货币金额大写转换库(C#)

货币金额大写转换库http://www.vckbase.com/bbs/prime/viewprime.asp?id=576// 货币金额大写转换库   Money2String.dll// 静态中文转换方法     String GetCnString(String MoneyString)// 最大转化金额         9999999999999999.99  (16位整数位,2位小数位)

祝紫山(大可山人)博客[GDI+,WPF, .Net图形图像] 6155

springboot 转换为金额大写工具类

springboot 金额转换大写

xiaobaihaob的博客 846

java 金额转换汉字大写 处理带负数的情况

import java.math.BigDecimal; /**  * 数字转换为汉语中人民币的大写&lt;br&gt;  * @author hongten  * @contact hongtenzone@foxmail.com  * @create 2013-08-13  */ public class NumberToCN  {     /**      * 汉语中数字大写      */...

qq_37101291的博客 937

python人民币转大写_python将人民币转换大写的脚本代码

def num2moneyformat( change_number ):""".转换数字为大写货币格式( format_word.__len__() - 3 + 2位小数 )change_number 支持 float, int, long, string"""format_word = ["分", "角", "元","拾","百","千","万","拾","百","千","亿","拾","百"...

weixin_39822629的博客 323

java金额转换函数_将阿拉伯数字转换成人民币大写形式的JAVA工具类

http://wallimn.iteye.com/admin/blogs/365769public class MoneyUtil {private final static String[] CN_Digits = { "零", "壹", "貳", "叁", "肆", "伍","陆", "柒", "捌", "玖", };/*** 将数字型货币转换为中文型货币 * 作者:wallimn 时间:20...

weixin_29904489的博客 488

Oracle money大写转换函数

Oracle money大写转换函数

qq_45027843的博客 570

Java 金额转换 阿拉伯数字金额转换成汉字大写金额

Java 金额转换 阿拉伯数字金额转换成汉字大写金额 写的不是很完善,仅供参考!还望各大佬多多指点!下面直接上代码: package demo; import java.math.BigDecimal; import java.util.Scanner; public class MoneyToCN2 { private static final String CNSUM[] = {...

weixin_43544711的博客 2413

ORACLE金额转换成英文大写的函数

用法如下:get_capital_money(Currency, Money) Currency: 货币或货币描述,将放在英文大写的前面; Money:金额。支持两位小数点。如果需要更多的小数点,请自行修改。 create or replace function GET_CAPITAL_MONEY ( P_currency varchar2, P

范永强的专栏 2988

oracle sql 转小写转大写函数,OracleSQL金额小写转大写函数

原文链接:http://www.cnblogs.com/Ira_Young/archive/2009/11/11/1601168.html 无 Create Or Replace Function Money2Chinese(Money In Number) Return Varchar2 Is strYuan Varchar2(150); strYuanFen Varchar2(152); nu...

weixin_35638013的博客 173

oracle中将数字金额转换为中文大写函数

此方法出处:http://hi.baidu.com/hangdoudou/blog/item/82e2c36ec001ecde80cb4a65.html 为了便于以后查阅,故全文转过来了,但已经注明出处,希望作者不要介意   ,谢谢啦。 Sql代码 CREATE OR REPLACE FUNCTION money_to_chinese (money 

改变从今天开始 3560
上一篇: 货币金额大写转换1
下一篇: ASP常见问题及解答
doublewang
博客等级 码龄21年 1粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值