以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  金额的按位打印问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110959)

--  作者:llh0824
--  发布时间:2017/12/13 8:39:00
--  金额的按位打印问题

Dim i As Decimal = 12345678.12
Tables("计数表").AddNew
Tables("计数表").current("分") =GetDigit(i,-2)
Tables("计数表").current("角") =GetDigit(i,-1)
Tables("计数表").current("元") =GetDigit(i,0)
Tables("计数表").current("十") =GetDigit(i,1)
Tables("计数表").current("百") =GetDigit(i,2)
Tables("计数表").current("千") =GetDigit(i,3)
Tables("计数表").current("万") =GetDigit(i,4)
Tables("计数表").current("十万") =GetDigit(i,5)
Tables("计数表").current("百万") = GetDigit(i,6)
Tables("计数表").current("千万") =GetDigit(i,7)
Tables("计数表").current("亿") =GetDigit(i,8)
请问老师,为什么我取出来的值是图上的那样
图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2017/12/13 9:34:00
--  

代码本身没有问题。你表格事件肯定有其它代码影响了。

 

 


--  作者:sjx71
--  发布时间:2017/12/13 10:12:00
--  
你的列定为的是double 或integer 吧

GetDigit函数返回的是字符,现在显示的是返回字符的ASCII码的十进制值, 如Tables("计数表").current("元") =GetDigit(i,0),
GetDigit(i,0)应返回字符‘8’,它的ASCII码是56,
Tables("计数表").current("亿") =GetDigit(i,8), GetDigit(i,8)应该返回字符 ‘¥’,ASCII码是65509?

你可以将程序改为
Tables("计数表").current("千") =Val(GetDigit(i,3)) 试一下

另外也可以将这些字段改为字符类型

你试一下,不知道是不是这个问题, 


--  作者:llh0824
--  发布时间:2017/12/13 10:32:00
--  
是的,我原来字段类型都是整数,现在改成字符类型就可以了,非常谢谢