![]() |
gmc InspDesigner 金额中文转化脚本
1 个附件
gmc InspDesigner 金额中文转化脚本
脚本: /** * @des cription:金额小写转中文大写 * @aut hor: Jacob.Y * @da te: 2020-06-27 **/ //Double je=100200000.75; //规范数值格式(保留小数点后2位): //String a=(je*600).toStringWithoutE(20).left(12)+(je*800).toStringWithoutE(20).left(12)+(je*500).toStringWithoutE(20).left(12)+je.toStringWithoutE(20); String a=je; if(a.contains(".")) a=a.Part[0,"."]+"."+(a+"0").Part[1,"."].left(2); else a=a+".00"; a.replace(".",""); //数值转大写 String szdx="零壹贰叁肆伍陆柒捌玖"; String jedx=""; for(Int i=0;i<(a.Length);i++) jedx=jedx+szdx.mid(a.mid(i,1).toInt(),1); //添加单位转大写 String unit="仟佰拾极仟佰拾载仟佰拾正仟佰拾涧仟佰拾沟仟佰拾穣仟佰拾秭仟佰拾垓仟佰拾京仟佰拾兆仟佰拾亿仟佰拾万仟佰拾圆角分"; unit=unit.right(jedx.Length); String dx=""; for(Int i=0;i<jedx.Length;i++) dx=dx+jedx.mid(i,1)+unit.mid(i,1); //整理去零换整 String th="仟佰拾角零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零零"; String tg="极载正涧沟穣秭垓京兆亿万圆"; String tf="极载正涧沟穣秭垓京兆亿万"; dx.replace("零角零分","整"); dx.replace("零分","整"); for(Int i=0;i<th.Length;i++) dx.replace("零"+th.mid(i,1),"零"); for(Int i=0;i<th.Length;i++) dx.replace("零"+tg.mid(i,1),tg.mid(i,1)+"零"); for(Int i=1;i<tf.Length;i++) dx.replace("零"+tf.mid(i,1),""); dx.replace("零圆","圆"); dx.replace("零零","零"); //输出返回值 return "人民币"+dx; |
正常一般用不到那么大的金额,到千亿就已经很大了。
|
/**
* @des cription:金额小写转中文大写修改版 * @aut hor: Jacob.Y * @da te: 2020-06-27 18:00 **/ //Double je=100200000.75; //规范数值格式(保留小数点后2位): //String a=(je*600).toStringWithoutE(20).left(12)+(je*800).toStringWithoutE(20).left(12)+(je*500).toStringWithoutE(20).left(12)+je.toStringWithoutE(20); String a=je; if(a.contains(".")) a=a.Part[0,"."]+"."+(a+"0").Part[1,"."].left(2); else a=a+".00"; a.replace(".",""); //数值转大写 String szdx="零壹贰叁肆伍陆柒捌玖"; String jedx=""; for(Int i=0;i<(a.Length);i++) jedx=jedx+szdx.mid(a.mid(i,1).toInt(),1); //添加单位转大写 String tg="极载正涧沟穣秭垓京兆亿万"; String unit=""; for(Int i=0;i<tg.Length;i++) unit=unit+"仟佰拾"+tg.mid(i,1); unit=unit+"仟佰拾圆角分"; unit=unit.right(jedx.Length); String dx=""; for(Int i=0;i<jedx.Length;i++) dx=dx+jedx.mid(i,1)+unit.mid(i,1); //整理去零换整 String th="仟佰拾角"; dx.replace("零角零分","整"); dx.replace("零分","整"); for(Int i=0;i<th.Length;i++) dx.replace("零"+th.mid(i,1),"零"); for(Int i=0;i<tg.Length;i++) { dx.replace("零零零零"+tg.mid(i,1),"零"); dx.replace("零"+tg.mid(i,1),tg.mid(i,1)+"零"); } dx.replace("零零","零"); dx.replace("零零","零"); for(Int i=0;i<tg.Length;i++) dx.replace("零"+tg.mid(i,1),tg.mid(i,1)+"零"); dx.replace("零零","零"); dx.replace("零零","零"); dx.replace("零圆","圆"); //输出返回值 return "人民币"+dx; |
所有时间均为 +8, 现在的时间是 2025-07-05 02:06. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions, Inc.