当前位置:主页>销售管理软件> 列表

在报表中怎么进行RMB大小写转换 找速达软件大管家官网

仓库管理软件版1楼: 现在我在做个打印,里面要用到大写金额 我想的办法有2个 但是本人水平不够 对FASTRPORT 也不熟 不知道怎么办 请各位大哥帮忙
1。最好能在添加自定义函数 不知道怎么添加 也不知道怎么调用(函数已经写好)
2。我现在是直接写在CORD中 但是碰到一个问题 比如我的小写金额放在MEMO1。TEXT中 我想在MEMO2。TEXT中放大写金额 但是就是取不到MEMO1。TEXT中的实际数字 只有个表达式。不知道是怎么取的
谁能全部回答的200分 不然就100分一个

2楼: 你把数据放入报表之前转换不可以吗
建一个对应表
就能把数字转换成大写的 如速达软件大管家官网

3楼: function NumToChar( n:Real): wideString; //可以到万亿,并可随便扩大
const cNum:WideString=''零壹贰叁肆伍陆柒捌玖-万仟佰拾亿仟佰拾万仟佰拾元角分'';
cCha:array[0..1, 0..11]of string =
(( ''零仟'',''零佰'',''零拾'',''零零零'',''零零'',
''零亿'',''零万'',''零元'',''亿万'',''零角'',''零分'',''零整''),
( ''零'',''零'',''零'',''零'',''零'',''亿'',''万'',''元'',''亿'',''零'',''整'',''整''));
var i :Integer;
sNum :WideString;
begin
result := '''';
sNum := FormatFloat(''0'',n*100);
for i := 1 to Length(sNum) do
result := result + cNum[ord(sNum[i])-47] + cNum[26-Length(sNum)+i];
for i:= 0 to 11 do //去掉多余的零
result := StringReplace(result, cCha[0,i], cCha[1,i], [rfReplaceAll]);
end;

4楼: 直接写在CORD中 是什么意思 ?

5楼: 取Memo1.text肯定是表达式,只有打印时不定式才会有真实值,如要取值,应是在OnAfterPrint事件

6楼: 谢谢各位 函数我已经写好了 我现在只是要取值 或添加到自定义函数里去 还有调用问题

仓库管理软件版7楼: 這個問題好解決的。
要通過FR裡的函數變量就可以了。
技術交流QQ:136293586

8楼: 用Grid++Report就不用编程, 只要设置数字的显示格式为‘$$’就行,主页:http://www.rubylong.cn