设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2315|回复: 9
打印 上一主题 下一主题

[其它] [求助][已解决]如何让金额大写填写有金额单位的单据?

[复制链接]
跳转到指定楼层
1#
发表于 2006-5-14 01:24:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式


各位大侠、仁兄:我在打印收据时有个问题想问问大家怎么解决(在下才疏学浅)?

如金额为¥15987.5元,如何让大写数字(壹、贰、叁。。。)填入相应的单位前面,并且在最大单位前面加“¥”??

谢谢各位帮忙~!!




[em04]

[此贴子已经被LucasLynn于2006-5-15 14:53:39编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
10#
发表于 2006-5-15 23:25:00 | 只看该作者
知道了,多谢版主的指导!

[此贴子已经被作者于2006-5-15 17:05:06编辑过]

9#
发表于 2006-5-15 22:53:00 | 只看该作者
以下是引用yangxiang在2006-5-15 14:43:00的发言:


版主,上传的例子,我是一个新手,请指出原因?多谢!





请仔细阅读参数说明。

另外,本函数返回的是金额中的单个位,而不是整个金额字符串,你需要在每个位各调用一次。
8#
发表于 2006-5-15 22:43:00 | 只看该作者
版主,上传的例子,我是一个新手,请指出原因?多谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
发表于 2006-5-15 22:16:00 | 只看该作者
以下是引用yangxiang在2006-5-15 13:39:00的发言:





用上面的方法不能实现,那里出错了,请指正?和请教使用的方法!



我测试过没问题的。把你的例子上传吧。
6#
发表于 2006-5-15 21:39:00 | 只看该作者
以下是引用LucasLynn在2006-5-13 17:59:00的发言:


论坛升级后旧贴可能搜不到了,重新给你写一个吧。

参数说明:
BitNo:元是0,往左依次为1、2、3、4、5……,往右(也就是小数点后)依次为-1、-2……
Money:钱的数量,单位为元。



Public Function GetBit(BitNo As Long, Money As Double) As String
    Dim BitCount As Long
    BitCount = Int(Log(Money) / Log(10#) + 0.000000000001) + 1
   
    Select Case BitNo
    Case Is > BitCount:
        GetBit = ""
    Case Is = BitCount:
        GetBit = "¥"
    Case Is < BitCount:
        Dim tmp As Long
        tmp = Int(Money / 10 ^ BitNo + 0.000000000001)
        tmp = tmp - Int(tmp / 10) * 10
        GetBit = Choose(tmp + 1, "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖")
    End Select
End Function





用上面的方法不能实现,那里出错了,请指正?和请教使用的方法!
5#
发表于 2006-5-14 07:54:00 | 只看该作者
这个样子如何

Function DX(Num As Single, NumBit As Integer) As String
    DX = Replace(Format(Num, "0.00"), ".", "")
    For i = 0 To 9
        DX = Replace(DX, i, Choose(i + 1, "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"))
    Next i
    For i = 1 To NumBit - Len(DX)
        DX = "¤" + DX
    Next i
End Function


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
 楼主| 发表于 2006-5-14 02:17:00 | 只看该作者
谢谢 LucasLynn老大~

俺要好好学习~~![em07]
3#
发表于 2006-5-14 01:59:00 | 只看该作者
论坛升级后旧贴可能搜不到了,重新给你写一个吧。

参数说明:
BitNo:元是0,往左依次为1、2、3、4、5……,往右(也就是小数点后)依次为-1、-2……
Money:钱的数量,单位为元。



Public Function GetBit(BitNo As Long, Money As Double) As String
    Dim BitCount As Long
    BitCount = Int(Log(Money) / Log(10#) + 0.000000000001) + 1
   
    Select Case BitNo
    Case Is > BitCount:
        GetBit = ""
    Case Is = BitCount:
        GetBit = "¥"
    Case Is < BitCount:
        Dim tmp As Long
        tmp = Int(Money / 10 ^ BitNo + 0.000000000001)
        tmp = tmp - Int(tmp / 10) * 10
        GetBit = Choose(tmp + 1, "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖")
    End Select
End Function


[此贴子已经被作者于2006-5-13 18:00:55编辑过]

2#
发表于 2006-5-14 01:59:00 | 只看该作者
LucasLynn版主的旧帖.

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-22 06:44 , Processed in 0.098211 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表