Foxtable(狐表)用户栏目专家坐堂 → piao据套打中金额大写套打好麻烦,有没简单点的?


  共有20463人关注过本帖树形打印复制链接

主题:piao据套打中金额大写套打好麻烦,有没简单点的?

帅哥哟,离线,有人找我吗?
菜鸟foxtable
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
piao据套打中金额大写套打好麻烦,有没简单点的?  发帖心情 Post By:2009/2/3 21:27:00 [只看该作者]

大家可以看到金额大写栏,原本是有万仟佰拾元角分这些字的.
示例中提供了大写转换

CUMoney

将阿拉伯数字转换为中文货币格式。

语法

CUMoney(Value)

Value:要转换的阿拉伯数字。

例如:

Dim Currency as String
Currency = CUMoney(
12345.12
)
Output.Show(Currency)

输出为:壹万贰千叁佰肆拾伍圆壹角贰分


我用的笨办法,把合计小写金额每一位数设定一个对应列,然后进行套打.有没简单点的办法?


  合计   万  仟    佰    拾    元    角    分           
   12345.12  壹     贰     叁   肆     伍    壹    贰        


图片点击可在新窗口打开查看此主题相关图片如下:住院fa piao.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/3 21:56:00 [只看该作者]

CUNumber加GetDigit,两个函数轻松搞定。
没有必要单独的列,套打的时候再计算即可。


 回到顶部
帅哥哟,离线,有人找我吗?
菜鸟foxtable
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By: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

老爹的方法只能针对固定位数的数值.


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/5 0:47:00 [只看该作者]

我提供一个思路而已,上面的代码完全用于套打再方便不过了。
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
菜鸟foxtable
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/2/5 9:39:00 [只看该作者]

图片点击可在新窗口打开查看老爹,俺明白,还是要用Length函数啊.

 回到顶部
帅哥哟,离线,有人找我吗?
菜鸟foxtable
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By: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编辑过]

 回到顶部