以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- piao据套打中金额大写套打好麻烦,有没简单点的? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1725)
|
-- 作者:菜鸟foxtable
-- 发布时间:2009/2/3 21:27:00
-- piao据套打中金额大写套打好麻烦,有没简单点的?
大家可以看到金额大写栏,原本是有万仟佰拾元角分这些字的. 示例中提供了大写转换
CUMoney
将阿拉伯数字转换为中文货币格式。
语法
CUMoney(Value)
Value:要转换的阿拉伯数字。
例如:
Dim Currency as
String Currency = CUMoney(12345.12) Output.Show(Currency)
输出为:壹万贰千叁佰肆拾伍圆壹角贰分 我用的笨办法,把合计小写金额每一位数设定一个对应列,然后进行套打.有没简单点的办法?
合计 |
万 |
仟 |
佰 |
拾 |
元 |
角 |
分 |
|
|
12345.12 |
壹 |
贰 |
叁 |
肆 |
伍 |
壹 |
贰 |
|
|
此主题相关图片如下:住院发票.jpg
|
-- 作者:狐狸爸爸
-- 发布时间:2009/2/3 21:56:00
--
CUNumber加GetDigit,两个函数轻松搞定。 没有必要单独的列,套打的时候再计算即可。
|
-- 作者:菜鸟foxtable
-- 发布时间:2009/2/4 5:58:00
--
老爹,m变量大写前面那个¥符号不会搞...
感觉上可以利用Length函数..
dim m as double = 12345.67 output.show(CUNumber(GetDigit(m,0)))
[此贴子已经被作者于2009-2-4 8:22:06编辑过]
|
-- 作者:狐狸爸爸
-- 发布时间:2009/2/4 15:20:00
--
dim m as double = 12345.67 Dim i As String = GetDigit(m,5) If Char.IsNumber(i) Then Output.Show(CuNumber(i)) Else Output.Show(i) End If
|
-- 作者:菜鸟foxtable
-- 发布时间:2009/2/5 0:44:00
--
以下是引用狐狸爸爸在2009-2-4 15:20:00的发言: dim m as double = 12345.67 Dim i As String = GetDigit(m,5) If Char.IsNumber(i) Then Output.Show(CuNumber(i)) Else Output.Show(i) End If
老爹的方法只能针对固定位数的数值.
|
-- 作者:狐狸爸爸
-- 发布时间:2009/2/5 0:47:00
--
我提供一个思路而已,上面的代码完全用于套打再方便不过了。
|
-- 作者:菜鸟foxtable
-- 发布时间:2009/2/5 9:39:00
--
老爹,俺明白,还是要用Length函数啊.
|
-- 作者:菜鸟foxtable
-- 发布时间:2009/2/5 13:16:00
--
这样就能保证任意位数都能在前面加上¥符号了.
dim m as double = 12345.67 dim r as string = format(m,"0.00") dim i As integer = r.Length-3 r = GetDigit(r,i) Output.Show(r & m)
[此贴子已经被作者于2009-2-5 13:19:13编辑过]
|