vb怎样小写人民币转大写,例如:28.30转换为零仟零伯贰拾捌圆叁角零分

我是很美味哟 2024-06-23 12:25:10
最佳回答
我见过这样的程序,等找到了再回答你一时找不到那本书了,所以自己写了一个,已经测试,可用。命名可能不是太规范,你可以再做一些修整。源程序如下:option explicitpublic function numbertocharacter(number as string) as string '完成转换的主函数 dim pos_point as long '记录小数点的位置 dim curnum as string '记录当前处理的数字 dim zhengshu as string '记录整数部分 dim shuduan as string '截取某一个数据段 '检索小数点的位置 pos_point = instr(number, ".") '处理小数部分 if pos_point = 0 then '没有小数点,将小数点设置在最末尾 pos_point = len(number) elseif len(number) = pos_point then '以小数点结尾,不作处理 elseif len(number) = pos_point + 1 then '一位小数,直接翻译为角 curnum = right(number, 1) numbertocharacter = numtochr(curnum) & "角" elseif len(number) = pos_point + 2 then '取第一位 curnum = right(number, 1) '若第一位为零,则不作处理,否则译为“角” if curnum <> "0" then numbertocharacter = numtochr(curnum) & "分" end if '取第二位 curnum = left(right(number, 2), 1) '若第二为零,不作处理,否则译为“分” if curnum <> "0" then numbertocharacter = numtochr(curnum) & "角" & numbertocharacter end if end if '处理整数 zhengshu = "" if pos_point > 14 then '大于 9999999999999 的数据不转换 msgbox "该数据无法转换", vbokonly + vb**rmation, "金额转换" exit function elseif pos_point > 9 then zhengshu = "亿" '亿位以上的部分 shuduan = left(number, pos_point - 9) zhengshu = shuduantocharacter(shuduan) & zhengshu '万位以上的部分 shuduan = right(left(number, pos_point - 5), 4) zhengshu = zhengshu & shuduantocharacter(shuduan) & "万" '万位以下部分 shuduan = right(left(number, pos_point - 1), 4) zhengshu = zhengshu & shuduantocharacter(shuduan) & "圆" elseif pos_point > 5 then '万位以上的部分 shuduan = right(left(number, pos_point - 5), 4) zhengshu = zhengshu & shuduantocharacter(shuduan) & "万" '万位以下部分 shuduan = right(left(number, pos_point - 1), 4) zhengshu = zhengshu & shuduantocharacter(shuduan) & "圆" else '万位以下 shuduan = right(left(number, pos_point - 1), 4) zhengshu = zhengshu & shuduantocharacter(shuduan) & "圆" end if numbertocharacter = zhengshu & numbertocharacter '输入为“0”,特殊处理 if numbertocharacter = "圆" then numbertocharacter = "零圆" end ifend functionpublic function numtochr(num as string) as string '数字转化为对应的中文 select case num case "1" numtochr = "壹" case "2" numtochr = "贰" case "3" numtochr = "参" case "4" numtochr = "肆" case "5" numtochr = "伍" case "6" numtochr = "陆" case "7" numtochr = "柒" case "8" numtochr = "捌" case "9" numtochr = "玖" case "0" numtochr = "零" end select end function'对分节后的每一节数据进行翻译,'例如: 1234512341234被分为12345,1234,1234public function shuduantocharacter(duan as string) as string dim curnum as string dim answer as string answer = "" if len(duan) = 5 then '有万位 answer = numtochr(left(duan, 1)) & "万" '千位 curnum = right(left(duan, 2), 1) if curnum <> "0" then answer = answer & numtochr(curnum) & "仟" else answer = answer & "零" end if '百位 curnum = right(left(duan, 3), 1) if curnum <> "0" then answer = answer & numtochr(curnum) & "佰" else if right(answer, 1) <> "零" then answer = answer & "零" end if end if '十位 curnum = right(left(duan, 4), 1) if curnum <> "0" then answer = answer & numtochr(curnum) & "拾" else if right(answer, 1) <> "零" then answer = answer & "零" end if end if '个位 curnum = right(duan, 1) if curnum <> "0" then answer = answer & numtochr(curnum) else if right(answer, 1) = "零" then answer = left(answer, len(answer) - 1) end if end if elseif len(duan) = 4 then '有千位 answer = numtochr(left(duan, 1)) & "仟" '百位 curnum = left(right(duan, 3), 1) if curnum <> "0" then answer = answer & numtochr(curnum) & "佰" else if right(answer, 1) <> "零" then answer = answer & "零" end if end if '十位 curnum = left(right(duan, 2), 1) if curnum <> "0" then answer = answer & numtochr(curnum) & "拾" else if right(answer, 1) <> "零" then answer = answer & "零" end if end if '个位 curnum = right(duan, 1) if curnum <> "0" then answer = answer & numtochr(curnum) else if right(answer, 1) = "零" then answer = left(answer, len(answer) - 1) end if end if elseif len(duan) = 3 then '有百位 answer = numtochr(left(duan, 1)) & "佰" '十位 curnum = left(right(duan, 2), 1) if curnum <> "0" then answer = answer & numtochr(curnum) & "拾" else if right(answer, 1) <> "零" then answer = answer & "零" end if end if '个位 curnum = right(duan, 1) if curnum <> "0" then answer = answer & numtochr(curnum) else if right(answer, 1) = "零" then answer = left(answer, len(answer) - 1) end if end if elseif len(duan) = 2 then '有十位 answer = numtochr(left(duan, 1)) & "拾" '个位 curnum = right(duan, 1) if curnum <> "0" then answer = answer & numtochr(curnum) else if right(answer, 1) = "零" then answer = left(answer, len(answer) - 1) end if end if elseif len(duan) = 1 then '有个位 answer = numtochr(left(duan, 1)) end if shuduantocharacter = answerend function 20210311
汇率兑换计算器

类似问答
  • 1608000大写人民币转换
    • 2024-06-23 02:58:09
    • 提问者: 未知
    你好,一点通网校回答你的问题 1608000大写:人民币壹佰陆拾万零捌仟元整或人民币壹佰陆拾万捌仟元整
  • 人民币大写转换器7021
    • 2024-06-23 08:59:24
    • 提问者: 未知
    人民币7021大写:柒仟零贰拾壹圆解析:中文大写金额数字应用正楷或行书填写,如壹(壹)、贰(贰)、叁、肆(肆)、伍(伍)、陆(陆)、柒、捌、玖、拾、佰、仟、万(万)、亿、元、角、分、零、整(正)等字样。不得用一、二(两)、三、四、五、六、七、八、九、十、念、毛、另(或0)填写,不得自造简化字。如果金额数字书写中使用繁体字,如贰、陆、亿、万、圆的,也应受理。
  • 叁拾日还是零叁拾
    • 2024-06-23 21:40:25
    • 提问者: 未知
    应该是:零叁拾日,因为有三十一号,如果写叁拾会给人有机会在后面添壹,可能存在风险。这是我根据会计相关规定总结的经验:月前需加0的有1、2、10,举例1月为零壹月 日前...
  • 1050元开**的大写金额怎样写 佰 拾 万 仟 佰 拾 元 角 分
    • 2024-06-23 04:06:26
    • 提问者: 未知
    正确的填写方法:前面的零数字可以用⊕(圈圈里边一个叉角号),但⊕不能放在后面,如果是可以填如“ ⊕ 万 ⊕ 仟 肆佰 捌 拾零 元 零 角 零 分 ,百元版**应填 肆佰 捌 拾 零元 零 角 零 分 ,这样才是正确的。1050元开**的怎样写 ⊕佰 ⊕拾 ⊕万 壹 仟 零 佰 伍 拾 零 元 零 角 零 分
  • 壹仟叁佰伍拾圆的澳币换多少人民币
    • 2024-06-23 18:01:53
    • 提问者: 未知
    按照目前最新汇率:1澳元=4.8246人民币1350澳元=6513.21人民币汇率一直变化,以交易时银行柜台汇率交易价为准!
  • 人民币大小写转换的c 代码怎么写?
    • 2024-06-23 18:59:15
    • 提问者: 未知
    include #include void main() { double x,i=10000000;int j=0;unsigned int quotient,remainder;bool beginflag=0,zeroflag=0;cout>x;...
  • 请问一下105000.00元是大写是"壹拾万伍仟元整"还是"壹拾万零伍仟元整"
    • 2024-06-23 06:20:08
    • 提问者: 未知
    ~两种说法,都正确~!你放心就好了!! 人民币(大写):壹拾万伍仟元整;人民币(大写):壹拾万零伍仟元整!
  • 427064.47转换人民币大写
    • 2024-06-23 14:05:26
    • 提问者: 未知
    427064.47转换人民币大写:肆拾贰万柒仟零陆拾肆圆肆角柒分解析:中文大写金额数字应用正楷或行书填写,如壹(壹)、贰(贰)、叁、肆(肆)、伍(伍)、陆(陆)、柒、捌、玖、拾、佰、仟、万(万)、亿、元、角、分、零、整(正)等字样。不得用一、二(两)、三、四、五、六、七、八、九、十、念、毛、另(或0)填写,不得自造简化字。如果金额数字书写中使用繁体字,如贰、陆、亿、万、圆的,也应受理。
  • 人民币大小写转换,62020.70元,人民币的正确大写应该怎么写。陆万贰仟零贰拾元零贰角,对不对?谁知道吗?
    • 2024-06-23 01:48:18
    • 提问者: 未知
    陆万贰仟零贰拾元柒角 陆万贰仟零贰拾元柒角整 都可以
  • sql人民币的大小写转换
    • 2024-06-23 15:37:49
    • 提问者: 未知
    create procedure moneytochinese22-**伯数字金额转换为中文大写@changemoney money,@returndaxie varchar(50)output as set nocount on declare@string1 char(20)...
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。