用VB把数字转成中文字符串

阿拉伯数字转中文数字(vb) 输入阿拉伯数字转换成中文数字 如:输入:52510001 输出:伍仟贰佰伍拾壹万零壹 立即下载

根据数字的读法,写了一个把数字转成中文字符串的程序
参数一为数字
参数二为是不是反回人民币大写
参数三为是不是直接读数字,否则带有十百等单位
参数四为设置小数点后面的位数,默认为4
使用方法是
t=GetChinaNum(20005.000436, , , 7)'返回 “二千零五点零零零四三六”
t=GetChinaNum(2005.436, True, , 7)'返回“贰仟零伍元肆角肆分”
t=GetChinaNum(2005.436, , True, 7)'返加“二零零五点四三六”

下面是程序代码

Function GetChinaNum(otherNum As Double, Optional isRMB As Boolean, Optional numOption As Boolean, Optional dotNum As Integer) As String
    
On Error Resume Next
    num 
= Trim(Str(Int(otherNum)))
   
    
If isRMB Then
        numwei 
= "拾佰仟万拾佰仟亿拾佰仟"
        numshu 
= "零壹贰叁肆伍陆柒捌玖拾"
    
Else
        numwei 
= "十百千万十百千亿十百千"
        numshu 
= "零一二三四五六七八九十"
    
End If
    
If otherNum < 20 And otherNum >= 10 Then
        num 
= Right(num, 1)
        GetChinaNum 
= Left(numwei, 1)
    
End If
    
For i = 1 To Len(num)
        bstr 
= Mid(num, i, 1)
        
If numOption Then
            GetChinaNum 
= GetChinaNum + Mid(numshu, Val(bstr) + 1, 1)
           
        
Else
            GetChinaNum 
= GetChinaNum + Mid(numshu, Val(bstr) + 1, 1)
            
If bstr = "0" Then
                
If Mid(numwei, Len(num) - i, 1) = "万" Or Mid(numwei, Len(num) - i, 1) = "亿" Then
                    
Do While Right(GetChinaNum, 1) = "零"
                        GetChinaNum 
= Left(GetChinaNum, Len(GetChinaNum) - 1)
                    
Loop
                    GetChinaNum 
= GetChinaNum + Mid(numwei, Len(num) - i, 1)
                
End If
               
            
Else

                GetChinaNum 
= GetChinaNum + Mid(numwei, Len(num) - i, 1)
            
End If
            GetChinaNum 
= Replace(GetChinaNum, "零零", "零")
        
End If
    
Next i
    
If numOption = False Then
        
Do While Right(GetChinaNum, 1) = "零"
            GetChinaNum 
= Left(GetChinaNum, Len(GetChinaNum) - 1)
        
Loop
    
End If
    
If isRMB Then
        numrmb 
= "元角分"
        GetChinaNum 
= GetChinaNum + Mid(numrmb, 1, 1)
        
If Val(num) <> otherNum Then
            num 
= Trim(Str(Round(otherNum - Val(num), 2)))
            
For i = 2 To Len(num)
                bstr 
= Mid(num, i, 1)
                GetChinaNum 
= GetChinaNum + Mid(numshu, Val(bstr) + 1, 1) + Mid(numrmb, i, 1)
            
Next i
        
Else
            GetChinaNum 
= GetChinaNum + "整"
        
End If
    
Else
        
If Val(num) <> otherNum Then
            
If dotNum = 0 Then dotNum = 4
            num 
= Trim(CStr(Round(otherNum - Val(num), dotNum)))
            
If GetChinaNum = "" Then GetChinaNum = "零"
            GetChinaNum 
= GetChinaNum + "点"
            
For i = 2 To Len(num)
                bstr 
= Mid(num, i, 1)
                GetChinaNum 
= GetChinaNum + Mid(numshu, Val(bstr) + 1, 1)
            
Next i
        
End If
    
End If
End Function

 

 

晶闸管选型参数,结构原理,工艺与注意问题总结 闸管(Thyristor)是一种半导体开关器件,也被称为可控硅整流器(SCR, Silicon Controlled Rectifier)。它可以在高电压和大电流条件下工作,常被用于交流电的控制和整流。本文对晶闸管的工作原理,结构特点,工艺流程,选型参数及设计注意事项进行总结。 阅读详情

相关推荐

中心对数比变换(Centered Log Ratio Transformation,CLR)的原理及scikit-bio介绍

中心对数比变换(Centered Log Ratio Transformation,CLR)是一种数据预处理方法,常用于成分数据分析领域。在成分数据中,各成分之间通常存在一定的约束关系,比如它们的和为固定值等,中心对数比变换可以有效地处理这种具有特殊约束的数据。官方文档scikit-bio是一个在Python3中处理生物数据的库成分统计 (skbio.stats.composition )模块中的,此函数将组合从Aitchison几何体转换到真实空间。这个clr。

RECORD LEARN PROGRESS 1万+

vb.net 教程 1-6 数据类型:数值数据转换

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 1、数值转为字符串类型 实际使用的时候,只需要在变量后面加上方法 ToString()即可,甚至有时候不用加ToString()也可以。 例如: Dim aa As Integer = 12 Dim ss As String = aa.ToString ’ss="12" 2、字符串类型转为数值 以下以字符串转为整型为例,先介绍四种方法: ...

chinaherolts2008的博客 3426

【光斑定位】空间激光通信、光斑定位、CCD、光斑定位——13000字

0.完整源码获得方式 订阅MATLAB/FPGA教程,免费获得教程案例以及任意2份完整源码 ----------------------------------------------------------------- 空间激光通信是指以光波作为载波进行数据传输的一种通信方式。目前,空间激光通信己成为人们关注的焦点。在空间激光通信系统中,光斑定位是是一项关键技术。 本论文首先对国内外空间激光通信系统的研究现状进行了阐述,论述了空间激光通信的理论只是,并对CCD成像原理,...

FPGA/MATLAB学习教程/源码/项目合作开发 1290

怎样在VB中将文本转换成数值

3、Val(string)必要的 string 参数可以是任何有效的字符串表达式.说明 Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。5、value是把字符变量转变成数值变量的函数 比如说你在文本框里输入数字,默认状况下所输入的数字为文本型,需要把他转变成数值型才能进行加减乘除的运算。5、val()函数是将字符串转换为数值变量,int()函数是将数值转换为整形变量,类似的还有CSng()、CVar()、CDbl()、CLng()等等。最简单的就是直接转换,就是把字符串变量赋值给数值变量。

aoxiangchina的博客 4154

22、预条件技术:矩阵分解与多项式预条件器

本文系统介绍了预条件技术中的不完全分裂法、多项式预条件器和近似逆预条件器。内容涵盖矩阵分解的基本原理、不完全LU和Cholesky分解的实现方法、基于填充水平和阈值策略的改进技术,以及多项式和近似逆预条件器的数学基础与应用。通过算法流程图和表格对比,展示了各类预条件器的适用场景与优缺点,同时探讨了其在迭代求解中的关键作用和未来发展方向。

theta的博客 95

2025目标检测新方向:弱监督目标检测的最新论文研究与应用

2025目标检测新方向:弱监督目标检测的最新论文研究与应用 ,人工智能,计算机视觉,大模型,AI,本文聚焦2025年弱监督目标检测新方向,阐述其基础概念,包括弱监督学习定义、标注形式及面临的定位不准等挑战。介绍最新论文研究的多种算法,如基于点标注的算法等,还涉及相关模型、应用领域,以及评价指标、数据集、实现工具框架,分析未来趋势与补充挑战及解决方案,为该领域研究提供全面参考。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 7万+

【VB语法备忘】常用字符转换函数

1.字符串转数字 用法:Str(int) 注意事项: int为正数时,转换后的值包含一个半角空格(msgbox时肉眼看不到),测试: i = 1 s = Str(i) msgbox s = "1" '--False-- msgbox s = " 1" '--True-- 如需去掉该空格,应使用Trim(Str(int))。 2.数字转字符串 - CInt / CLng

pzxzhy的博客 1523

华为od 面试八股文_JAVA语言_01_含答案

华为od 面试八股文_JAVA语言_01_含答案

MISAYAONE的博客 4311

VB编程:Val字符串转数字,CStr数字转字符串-6

效果显示: Private Sub Text1_Change() Text2.Text = CStr(Text1.Text)     '转字符串 Text3.Text = Val(Text1.Text)       '转为数字 End Sub 备注: 1、Val()函数,字符串转为数字,从左到右依次转换,遇到非数字字符为止,必要时可以使用CDbl(); 2、CSt...

彭世瑜的博客 1万+

小梅哥Xilinx ZYNQ学习笔记2——38译码器

译码器(Decoder)是一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象(如逻辑电平等),功能与编码器相反。译码器一般分为通用译码器和数字显示译码器两大类。本设计的是通用译码器。三八译码器,即是 3 种输入状态翻译成 8 种输出状态。1.case开始开始,endcase结束;2.数字声明时,合法的基数格式有 4 中,包括:十进制('d 或 'D),十六进制('h 或 'H),二进制('b 或 'B),八进制('o 或 'O)。数值可指明位宽,也可不指明位宽。

m0_51430584的博客 1636

Tiktok/抖音旋转验证码

主要记录一下旋转验证码的逆向思路

记录一些web逆向的过程 5970

用VB把数字转成中文字符串 (转)

用VB把数字转成中文字符串 (转)[@more@]根据数字的读法,写了一个把数字转成中文字符串的程序参数一为数字参数二为是不是反回人民币大写参数三为是不是直接读数字,否则带有十百等单位参数四为设置小数点后面的位数,默认为4使用方...

ciya3282的博客 1017

jre9下载 jdk9

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

vb 字符串和数字相互转换函数

VB中的字符串函数比力多,也比力方便,就不一一介绍了.本文主要对字符串相关的 转换函数做一些小结.字符串转换的函数主要有:      Str()和Val()用于字符串和数字的相互转换;     Chr()和Asc()用于字符串和AscII码的相互转换;     Chrw()和Ascw()用于Unicode码和中文的相互转换;      Format()函数用途十分广泛的一个函数,功能十分

5692

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

VB 阿拉伯数字转换为中文大写数值函数

Private Function CChinese(StrEng As String) As String If Not IsNumeric(StrEng) Or StrEng Like "*.*" Or StrEng Like "*-*" ThenIf Trim(StrEng) &lt;&gt; "" Then MsgBox "无效的数字"CChinese = "": Exit F

miaozk2006的专栏 1194

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

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

C#拆分中文和数字字符串

比如要vb.net教程拆分“呵呵呵90909086676喝喝999”,下面当type=0返回的是中文字符串“呵呵呵,喝喝”,type=1返回的是数字字符c#教程串“90909086676,999”, private string GetStrings(string str,int type=0) { IList<string> strList = new List<string>(); MatchCollection

chinaherolts2008的博客 1383

VB 读取资源文件里面的字符串

Private Sub Form_Load()Dim TempStr() As ByteTempStr = LoadResData(101, 6)Text1.Text = TempStrEnd Sub'LoadResData函数语法:' LoadResData(ID,Type) as Byte ' ID----必需的。一个整数或字符串,它用来指定资源文件中数据的标识符 (ID)。ID ...

miaozk2006的专栏 1169

VB.net中使文本框只能输入数字

导读:   VB.net中使文本框只能输入数字   编制计算类程序时文本框一般都用于输入数字数据,此时可以通过以下步骤来确保用户输入数据的正确性:   首先添加好文本框控件TextBox后把属性IMEMode的值改成Disable,这样在该文本框中就不能使用中文输入法了。然后对文本框的KeyPress事件添加以下代码   Private Sub TextBox1_KeyPress(ByVa

臣臣的小家 2247

vb字符串选定复制代码

登录网页微信知乎图片视频医疗汉语问问更多»搜索答案我要提问首页问题分类特色问豆商城个人中心问题已被解决QQ一键登录IT技术vb 获取选中文字字数问题一,如题,选中文本框中一段文字,显示共有多少字符;问题二,设一个标签,计算文本框中光标所在位置之前的字符数匿名用户19 次浏览2009.11.10 提问我来回答最佳答案本回答由达人推荐幼稚丶诠释了涐扪旳青春〃2018.06.08 回答。

qq_32257509的博客 636

VB6判断字符串中是否包含汉字

对于google中和csdn中没有正确严谨的vb6判断字符串中是否包含汉字,要么简单的判断是否asc()返回值小于0(这样只能判断是否为双字节的字符串,比如韩文、日文、中文、阿拉伯文,无法确定为中文),难怪人家说我们vb6的都是初级新手用的。判断汉字的做法,都如此不严谨。给出一个比较严谨的判断是否包含中文方法好了。希望日后有人搜索到,能够有帮助。创建窗体,放一个按钮,默认名字,粘贴如下代码在代码页...

yuanlanxiaup 2321

VB 汉字字符串的截取LEN、LEFT、RIGHT

自从VB4.0后,就把汉字看做是1个字符了。这给我们的字符串的截取带来了严重的麻烦!如果是汉字+数字或字母的字符串,往往截取到的字符串长度不是理想中的,其中涉及到的函数有LEN、LEFT、RIGHT我自己编写了如下3个函数,用来取代 len()、left()、right(),希望能解决您的问题。-------------------------------------------------

思科网络 6145

计算机如何用vb文本加密,VB 实现中文文本的加密方法

VB文本加密 特别设计到中文加密 让很多人费尽周折,经常会碰到解密中文出现乱码的情况下面这篇文章将对此做了说明计算机世界2000年第36期实现中文文本的加密方法武汉交通科技大学计算机科学与工程系 吴业福本文介绍了在VB6中实现中、英文文本加、解密的技术细节。文中深入地探讨了VB6中汉字加、解密的原理、散列函数的构造方案,在加、解密方产生散列函数的种子值(初始值)和用于加、解密的随机序列数的方法。最...

weixin_34603379的博客 2042

【VB】实现数字到中文金额的转换函数 .

Private Function NMoneyToSMoney ( NMoney As Variant ) As String If IsNumeric ( NMoney ) = False Then NMoneyToSMoney = "不是数字类型" Exit Function End If

372

VB.net中文字符串转拼音

从NuGet上发现一个很好用的包可以实现该效果这个包可以直接把单个汉子转换成拼音字符串,于是自己写了个函数实现对整个字符串的拼音转换 ''' ''' 字符串转拼音 ''' ''' ''' Public Function toPinyin(ByVal chars As String) As String Dim pinyin As

Dexter's Laboratory 2196
上一篇: 用MSComm控件实现来电显示
下一篇: 关于Adodb.Stream 的使用说明
thinkeasy
博客等级 码龄25年 2粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值