货币数字转化为大写格式

原创 2001年07月18日 09:05:00


Dim CHAp(21, 1)
初始化:

    CHAp(0, 0) = "万": CHAp(0, 1) = 10000
    CHAp(1, 0) = "仟": CHAp(1, 1) = 1000
    CHAp(2, 0) = "佰": CHAp(2, 1) = 100
    CHAp(3, 0) = "拾": CHAp(3, 1) = 10
    CHAp(4, 0) = "元": CHAp(4, 1) = 1
    CHAp(5, 0) = "角": CHAp(5, 1) = 0.1
    CHAp(6, 0) = "分": CHAp(6, 1) = 0.01
    CHAp(11, 0) = "壹": CHAp(11, 1) = 1
    CHAp(12, 0) = "贰": CHAp(12, 1) = 2
    CHAp(13, 0) = "叁": CHAp(13, 1) = 3
    CHAp(14, 0) = "肆": CHAp(14, 1) = 4
    CHAp(15, 0) = "伍": CHAp(15, 1) = 5
    CHAp(16, 0) = "陆": CHAp(16, 1) = 6
    CHAp(17, 0) = "柒": CHAp(17, 1) = 7
    CHAp(18, 0) = "捌": CHAp(18, 1) = 8
    CHAp(19, 0) = "玖": CHAp(19, 1) = 9
    CHAp(20, 0) = "零": CHAp(20, 1) = 0
    CHAp(21, 0) = "亿": CHAp(21, 1) = 100000000

Function SubtoChinese(price As Integer)
'转化千百十
Dim i As Integer
Dim num(15) As Integer
i = 1
    Do Until price = 0
        num(i) = Int(price / CHAp(i, 1))
        If num(i) <> 0 Then
            SubtoChinese = SubtoChinese & CHAp(num(i) + 10, 0) & CHAp(i, 0)
            price = price - num(i) * CHAp(i, 1)
        Else
            If SubtoChinese <> "" And Right(SubtoChinese, 1) <> "零" Then
                SubtoChinese = SubtoChinese & "零"
            End If
        End If
        i = i + 1
    Loop
    If Right(SubtoChinese, 1) = "元" Then
        SubtoChinese = Left(SubtoChinese, Len(SubtoChinese) - 1)
    End If
End Function

Function PricetoChinese(price As Double)
    If price >= 100000000 Then   '大于1亿
        PricetoChinese = PricetoChinese & PricetoChinese(Int(price / 100000000)) & "亿"
        price = price - Int(price / 100000000) * 100000000
    End If
    If price >= 10000 Then
        PricetoChinese = PricetoChinese & SubtoChinese(Int(price / 10000)) & "万"
        price = price - Int(price / 10000) * 10000
    End If
    If Int(price) <> 0 Then '如果万与千间无数,则应添零
        If PricetoChinese <> "" And Int(price) < 1000 Then
            PricetoChinese = PricetoChinese & "零"
        End If
        PricetoChinese = PricetoChinese & SubtoChinese(Int(price))
        price = price - Int(price)
    End If
    If PricetoChinese <> "" Then PricetoChinese = PricetoChinese & "元"
    If price = 0 Then '到元为止
        PricetoChinese = PricetoChinese & "整"
    Else
        price = Int(price * 100)
        If Int(price / 10) <> 0 Then
            PricetoChinese = PricetoChinese & CHAp(Int(price / 10) + 10, 0) & "角"
            price = price - Int(price / 10) * 10
         End If
         If price <> 0 Then
            PricetoChinese = PricetoChinese & CHAp(Int(price) + 10, 0) & "分"
           
         End If
    End If
End Function
调用时:PricetoChinese(123432435.345)

 

java实现日期转中文大写形式

这是用java实现的将日期转中文大写形式的一个工具类package jb.peng.com.util; import java.util.regex.Matcher; import java.util...
  • u010725501
  • u010725501
  • 2016年09月09日 21:57
  • 243

阿拉伯数字转换成英文大写币别(格式化逗号分隔符后传入)

简单实现
  • xingyunLOST
  • xingyunLOST
  • 2015年10月23日 09:25
  • 646

java实现数字金额转换成汉字大写金额

我们经常在做项目的财务报表,需要打印发票等情况时需要用到小写的财务金额要转换成汉字的大写金额,下面就是实现该功能的代码...
  • software7503
  • software7503
  • 2017年07月10日 20:21
  • 297

Delphi货币类型转中文大写金额

在Delphi中,为了实现货币数值运算中的严格精度要求,内部把货币类型数据当作一个放大10000倍的64位整数来处理。这样根据64位整数的范围,可以得出货币类型Currency的范围是 [-92233...
  • tht2009
  • tht2009
  • 2017年06月15日 15:03
  • 446

用Python将数字转换为中文大写

利用Python将阿拉伯数字转化为中文大写,其实最麻烦的地方就是中间空多个0的问题,这种情况下,采用拆分法则,将一个大数字,先拆分成整数部分和小数部分,再对整数部分按照仟、万、亿、兆分位拆分为四个字符...
  • zzcwing
  • zzcwing
  • 2013年04月06日 04:26
  • 3031

js 数字金额大小写转换成中文大写

function Arabia_to_Chinese(Num) { for(i=Num.length-1;i>=0;i--) { Num = Num.replace(",","")//替换to...
  • lychao89
  • lychao89
  • 2016年08月12日 10:02
  • 2838

JAVA 数字转换为中文大写的转换

【转】 读入一个浮点数值,将其转化为中文金额的大写形式。 如123.45,转化为:壹佰贰拾叁元肆角伍分。 以下是各种情况要完善: 1. 当金额为整数,只表示整数部分,省略小数部分,并添加“整”字。如1...
  • abiao1011
  • abiao1011
  • 2013年08月09日 00:07
  • 2197

将数字转为中文金额的大写方式(C++版)

/**   * 程序目的:   *   从命令行接收一个数,并将其转化为中文金额的大写方式(C++版)   * 例如 123.45 --> 壹佰贰拾叁元肆角伍分   * @author Lov...
  • u010944926
  • u010944926
  • 2014年03月08日 15:57
  • 3188

JAVA科学计数法,金额数字,转换为中文大写字

java操作金额
  • wangyonglin1123
  • wangyonglin1123
  • 2016年04月28日 13:46
  • 1790

java中数字转大写货币

public class MoneyToOther { /** * 支持到千亿,超过千亿就报错了 * */ public static String changeToBig(double ...
  • acoolper
  • acoolper
  • 2014年06月10日 15:10
  • 445
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:货币数字转化为大写格式
举报原因:
原因补充:

(最多只允许输入30个字)