Hi
I'm exciting made the function for money number convert to Chinese words.
I want to say ZC it's powerful so let me share the code and get
your further
help for
optimize
the code
more..
- string sz.num2rmb(float je)
- {
- vzf = {"0-零", "1-壹", "2-贰", "3-叁", "4-肆", "5-伍", "6-陆", "7-柒", "8-捌", "9-玖"};
-
- vws = "万仟佰拾亿仟佰拾万仟佰拾元角分";
-
- rdw = formqj [cat == "小写大写"];
- vje = ((input.je * 100).round(0)).toString();
-
- vcd = (vje).length();
- vwszf = (vws).subString((15 - vcd));
- zf2 = (vje).subString(rdw.sz1,(rdw.sz1 + 1));
- for each rzf in vzf
-
- {
- if (rzf.contains(zf2))
- {
- zf = rzf.getSuffix("-");
- }
- }
- rdw.zf1 = rdw.zf1 + zf + (vwszf).subString(rdw.sz2,(rdw.sz2 + 1));
- rdw.zf1 = (rdw.zf1).replaceFirst("零零","零");
- rdw.zf1 = (rdw.zf1).replaceFirst("零亿","亿");
- rdw.zf1 = (rdw.zf1).replaceFirst("亿万","亿");
- rdw.zf1 = (rdw.zf1).replaceFirst("零万","万");
- rdw.zf1 = (rdw.zf1).replaceFirst("零仟","零");
- rdw.zf1 = (rdw.zf1).replaceFirst("零佰","零");
- rdw.zf1 = (rdw.zf1).replaceFirst("零拾","零");
- rdw.zf1 = (rdw.zf1).replaceFirst("零元","元");
- rdw.zf1 = (rdw.zf1).replaceFirst("零角","零");
- rdw.zf1 = (rdw.zf1).replaceFirst("零分","");
- rdw.sz1 = (rdw.sz1 + 1);
- rdw.sz2 = (rdw.sz2 + 1);
- if (rdw.sz1 < vcd)
- {
- thisapp.sz.num2rmb(input.je);
- }
- if ((rdw.zf1.endsWith("分")) || (rdw.zf1.endsWith("角")))
-
- {
- rdw.zf1 = rdw.zf1 + "";
- }
- else
- {
- rdw.zf1 = rdw.zf1 + "整";
- }
- info rdw.zf1;
- rdw.sz1 = 0;
- rdw.sz2 = 0;
- vdxx = rdw.zf1;
- rdw.zf1 = "";
- return vdxx;
-
-
- }
- // code end
Thank you for your consistent help and support!
Stanleyguo
2011-7-5