| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3295 人关注过本帖, 1 人收藏
标题:vfp9报表本页小计金额合计转大写后变成 **** 号,求指正!
取消只看楼主 加入收藏
fytao
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-4-25
结帖率:50%
收藏(1)
已结贴  问题点数:20 回复次数:5 
vfp9报表本页小计金额合计转大写后变成 **** 号,求指正!
图片附件: 游客没有浏览图片的权限,请 登录注册
2016-05-18 22:34
fytao
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-4-25
收藏
得分:0 
回复 楼主 fytao
金额合计是临时计算出来的。因为有很多页,每页都有一个小计(也就是本页小计)
2016-05-19 22:48
fytao
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-4-25
收藏
得分:0 
回复 4楼 tlliqi

我已经拉的很长了,决对够宽,这个不用怀疑——因为在报表最后的总计中是已有数据,这个可以正常转换大写。
2016-05-19 22:52
fytao
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-4-25
收藏
得分:0 
回复 7楼 tlliqi
图片附件: 游客没有浏览图片的权限,请 登录注册

*********************
FUNC NumTxt            &&数字金额变大写
*********************
para lnDollar
priv x1,x2,x3,x4,c1,c2,c3,zf
zf=""
do case
case lnDollar>999999999999.99
    retu"金额太大,不能计算"
case lnDollar=0
    retu "零元整"
case lnDollar<0
    lnDollar=abs(lnDollar)
    zf="负"
endcase

C1='壹贰叁肆伍陆柒捌玖'
C2='仟佰拾 '
C3='角分'
lcDollar = ALLTRIM(TRAN(lnDollar,"999999999999.99"))
lcDollar=repl('0',15-len(lcDollar))+lcDollar
x1=get_money(subst(lcDollar,1,4))  && 得到亿位数
x2=get_money(subst(lcDollar,5,4))  && 得到万位数
x3=get_money(subst(lcDollar,9,4))  && 得到圆位数
x4=get_cents(subst(lcDollar,14,2)) && 得到分位数
lcText=iif(empty(x1),"",x1+"亿")+iif(empty(x2),"",x2+"万")+iif(empty(x3),"",x3)+"元"+x4+iif(right(x4,2)='分',"","整")
if left(lcText,2)="零"
    lcText=subst(lcText,3,len(lcText)-2)
endif
if left(lcText,4)="壹拾"
    lcText=right(lcText,len(lcText)-2)
endif
    retu zf+lcText

FUNC get_money
LPARAMETER lcNumber
priv lcTemp,lcNum,lcString
lcNum=""
lcTemp=""
for n=1 to 4
    lcNum=subst(lcNumber,n,1)
  if lcNum="0"
    lcString="零"
  else
    lcString=subst(c1,val(lcNum)*2-1,2)+subst(c2,n*2-1,2)
  endif
  if !(right(lcTemp,2)="零" and lcString="零")
    lcTemp=lcTemp+lcString
  endif
endfor
   lcTemp=iif(lcTemp=="零","",allt(lcTemp))
if right(lcTemp,2)="零"
   lcTemp=left(lcTemp,len(lcTemp)-2)
endif
retu allt(lcTemp)
2016-05-20 21:05
fytao
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-4-25
收藏
得分:0 
回复 9楼 星光悠蓝
下面就是打印报表产生临时数据的临时表
Create cursor so_ptmp(msso_id c(10), stock_code c(8),stock_name c(40),prod_spec c(30);
    qty_l n(10,2),pack n(4),unit c(4),goodamt n(12,2),emplyeeid c(4),dnote c(10))
2016-05-20 21:10
fytao
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-4-25
收藏
得分:0 
回复 7楼 tlliqi
图片附件: 游客没有浏览图片的权限,请 登录注册
2016-05-20 21:20
快速回复:vfp9报表本页小计金额合计转大写后变成 **** 号,求指正!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028954 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved