Foxtable(狐表)用户栏目专家坐堂 → 金额分拆


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

主题:金额分拆

帅哥哟,离线,有人找我吗?
Bin
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/25 10:29:00 [只看该作者]

转一下就成为数值型了

val("1")

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/12/25 10:34:00 [只看该作者]

GetDigit(Value,Position,Symbol)
返回数值Value中指定位置的数字,参数Symbol指定货币符号。
参数Position指定位置,0表示个位,1表示十位,2表示百位,-1表示小数点后第一位,-2表示小数点后第二位,其余类推。
例如:
GetDigit(123,0,"¥") '等于"3"
GetDigit(123,1,"¥") '等于"2"
GetDigit(123,2,"¥") '等于"1"
GetDigit(123,3,"¥") '等于"¥"
GetDigit(123,3,"$") '等于"$"
GetDigit(1972.63,-1,"¥") '等于"6"
GetDigit(1972.63,-2,"¥") '等于"3"

 

 

转为大写:

<CUNum(GetDigit([金额],1,"¥"))>

 

 

http://www.foxtable.com/help/topics/1415.htm

 

[此贴子已经被作者于2013-12-25 10:34:37编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
发财
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1470 积分:8981 威望:0 精华:0 注册:2013/10/24 9:12:00
  发帖心情 Post By:2013/12/25 15:34:00 [只看该作者]

Dim gdt As String = "金额8,金额7,金额6,金额5,金额4,金额3,金额2,金额1"

Dim  je As Double = e.DataRow("金额")
For i As Integer = -2 To gdt.split(",").length-3
    e.DataRow(gdt.split(",")(i+2)) = GetDigit(je,i)
    If i+5 > format(je,"0.00").length
        e.DataRow(gdt.split(",")(i+2+1)) = GetDigit(je,i+1)
        Exit For
    End If
Next
For Each dr As Row In Tables("缴款书")
    dr("金额_十") = cint(dr("金额1"))
    dr("金额_万") = cint(dr("金额2"))
    dr("金额_千") = cint(dr("金额3"))
    dr("金额_百") = cint(dr("金额4"))
    dr("金额_拾") = cint(dr("金额5"))
    dr("金额_元") = cint(dr("金额6"))
    dr("金额_角") = cint(dr("金额7"))
    dr("金额_分") = cint(dr("金额8"))
Next

 

.NET Framework 版本:2.0.50727.3649
Foxtable 版本:2013.10.14.1
错误所在事件:表,缴款书,DataColChanged
详细错误信息:
Exception has been thrown by the target of an invocation.
Conversion from string "" to type 'Integer' is not valid.
Input string was not in a correct format.


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/25 15:34:00 [只看该作者]

某列是空值.导致的 错误.

 回到顶部
帅哥哟,离线,有人找我吗?
发财
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1470 积分:8981 威望:0 精华:0 注册:2013/10/24 9:12:00
  发帖心情 Post By:2013/12/25 15:35:00 [只看该作者]

请问上述出现什么问题?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/25 15:35:00 [只看该作者]

看14楼

 回到顶部
帅哥哟,离线,有人找我吗?
发财
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1470 积分:8981 威望:0 精华:0 注册:2013/10/24 9:12:00
  发帖心情 Post By:2013/12/25 15:42:00 [只看该作者]

如何解决?是不是¥的问题,如何解决?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/25 15:46:00 [只看该作者]

所有可能出现空值的地方都加上判断.

例如  if dr.isnull("金额1")=false then
            dr("金额_十") = cint(dr("金额1"))
       end if

搞不定就把文件发上来

新手建议先静下心来看帮助.

图片点击可在新窗口打开查看

 

看帮助一定要按顺序,头一两遍可以不求甚解,第三遍开始要将每个例子实际操作演练一遍,不明白的就上论坛求助。
三遍之后才开始做系统,先设计好表,想做什么功能,就做什么功能,遇到问题在帮助找答案,找不到的在论坛提问,不断遇到问题,不断解决问题,慢慢就熟悉了。
此外一定要先掌握《使用指南》,然后再看《开发指南》


 回到顶部
帅哥哟,离线,有人找我吗?
发财
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1470 积分:8981 威望:0 精华:0 注册:2013/10/24 9:12:00
  发帖心情 Post By:2013/12/25 15:53:00 [只看该作者]

Exception has been thrown by the target of an invocation.
Conversion from string "¥" to type 'Integer' is not valid.
Input string was not in a correct format.

还出现上述错误?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/25 16:58:00 [只看该作者]

除了排除控制,还要排除 ¥ 这个符号.你直接使用 IsNumeric 判断一下是否数值先.

 回到顶部
总数 30 上一页 1 2 3 下一页