1、目前有一张已经印好格的纸张.里面有一个大写金额,可打印最大金额为100万.
2、已有格式: _拾_万_仟_佰_拾_元_角_分
3、如何将一个数据分拆并打印到以上格式中。求简明的代码或函数。
------解决方案--------------------
套打的话直接右对齐加空格不就行了
1 5 4 6 3 2 5 5
------解决方案--------------------
有个笨方法
你做一函数 比如 get_dx(数字,位数)
然后在数据窗口中,建几个text 分别对应 个 十 百 千 等
然后 千.text=get_dx(1234.23,千位)
代表取金额的千位数字
这样可以实现。
------解决方案--------------------
建一个函数返回类型为字符串,参数为数值,然后挨个截取每一个值,对应为大写的壹贰叁肆伍陆柒捌玖。。。
------解决方案--------------------
string i_number[],i_z,i_salb,i_a,i_b
int i_len,i
string i_rmb
int i_bz = 0 ,i_bz1 = 0//零检测
dec alb
alb=dec(sle_1.text)
i_salb=string(alb,"0.00")
i_len=len(i_salb)
i_a = '零壹贰叁肆伍陆柒捌玖'
i_b = '零分角元拾佰千万拾百千亿拾百千'
////////////////////////////////////////////////////////小数整理
if dec(mid(i_salb,i_len,1))=0 and dec(mid(i_salb,i_len - 1,1)) = 0 then
i_z= "整"
i_number[1] = ""
i_number[2] = ""
else
i_z =""
i_number[1]= mid(i_salb,i_len,1) //分
i_number[2] = mid(i_salb,i_len - 1,1)//角
if integer(i_number[1]) > 0 then
i_number[1] = mid(i_a,integer( i_number[1])+1,1)+mid(i_b,2,1)
else
i_number[1] = ""
end if
if integer(i_number[2]) > 0 then
i_number[2] = mid(i_a,integer( i_number[2])+1,1)+mid(i_b,3,1)
else
i_number[2] = mid(i_b,1,1)
end if
end if
i_rmb = i_z +i_number[2]+i_number[1]
///////////////////////////////////////////////////////////////////整数部分
for i=3 to i_len - 1
i_number[i] = mid(i_salb,i_len - i,1)