分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

财务系统中常用到金额与数字转化的处理,这里包括以下几个方法:1、去空格2、页面控件的金额与数字之间的转换3、一般金额与数字之间的转换4、将数字金额转化为汉字金额。

[JScript] view plaincopyprint?
  1. //在引用页面,可以采用document.forms[0].field1.value.trim()引用去空格
  2. String.prototype.trim = function(){
  3. return this.replace(/(^/s*)|(/s*$)/g, "");
  4. }
  5. //将1,234,567.00转换为1234567.00
  6. function moneyToNumFiled(obj) {
  7. var num=obj.value.trim();
  8. var ss=num.toString();
  9. if(ss.length==0){
  10. return "";
  11. }
  12. num=new Number(ss.replace(/,/g, ""));
  13. if(!/^(/+|-)?/d+(/.[0-9]{1,2})?$/.test(num)){
  14. alert("必须是数字型,切小数位最多保留两位");
  15. obj.value="";
  16. obj.focus();
  17. return ;
  18. }
  19. obj.value=num;
  20. }
  21. //将1,234,567.00转换为1234567.00
  22. function moneyToNumValue(val) {
  23. var num=val.trim();
  24. var ss=num.toString();
  25. if(ss.length==0){
  26. return "0";
  27. }
  28. return ss.replace(/,/g, "");
  29. }
  30. //用于页面控制
  31. //将1234567.00转换为1,234,567.00
  32. function numToMoneyField(obj) {
  33. var ss=obj.value.toString().trim();
  34. if(ss.length==0){
  35. return "";
  36. }
  37. var num=new Number(ss.replace(/,/g, ""));
  38. if(!/^(/+|-)?/d+(/.[0-9]{1,2})?$/.test(num)){
  39. alert("必须是数字型,切小数位最多保留两位");
  40. obj.value="";
  41. obj.focus();
  42. return;
  43. }
  44. if(num<0){
  45. obj.value = '-'+outputDollars(Math.floor(Math.abs(num)-0) + '') + outputCents(Math.abs(num) - 0);
  46. }else{
  47. obj.value = outputDollars(Math.floor(num-0) + '') + outputCents(num - 0);
  48. }
  49. }
  50. //将1234567.00转换为1,234,567.00
  51. function numToMoneyValue(val) {
  52. var ss=val.toString().trim();
  53. if(ss.length==0){
  54. return "";
  55. }
  56. var num=new Number(ss.replace(/,/g, ""));
  57. if(!/^(/+|-)?/d+(/.[0-9]{1,2})?$/.test(num)){
  58. alert("必须是数字型,切小数位最多保留两位");
  59. return "";
  60. }
  61. if(num<0){
  62. return '-'+outputDollars(Math.floor(Math.abs(num)-0) + '') + outputCents(Math.abs(num) - 0);
  63. }else{
  64. return outputDollars(Math.floor(num-0) + '') + outputCents(num - 0);
  65. }
  66. }
  67. function Chinese(num){   //如输入123.45可得到 壹百贰拾叁元肆角伍分
  68. var AA = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
  69. var BB = new Array("","拾","百","千","万","亿","","");
  70. var CC = new Array("角","分","");
  71. var a = (""+ num).replace(/(^0*)/g, "").split("."), k = 0, re = "";
  72. for(var i=a[0].length-1; i>=0; i--){
  73. switch(k){
  74. case 0 : re = BB[7] + re; break;
  75. case 4 : if(!new RegExp("0{4}//d{"+ (a[0].length-i-1) +"}$").test(a[0]))
  76. re = BB[4] + re; break;
  77. case 8 : re = BB[5] + re; BB[7] = BB[5]; k = 0; break;
  78. }
  79. if(k%4 == 2 && a[0].charAt(i+2) != 0 && a[0].charAt(i+1) == 0) re = AA[0] + re;
  80. if(a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k%4] + re; k++;
  81. }
  82. if(re.trim().length>0){
  83. re+="元";
  84. }
  85. if(a.length>1){ //加上小数部分(如果有小数部分)
  86. re += BB[6];
  87. for(var i=0; i1) break;
  88. re += AA[a[1].charAt(i)] + CC[i];
  89. }
  90. }
  91. return re;
  92. }
  93. //格式化输入数字,并保留指定位小数
  94. //amount为原数字,_pow_为需要保留小数位数
  95. function powAmount(amount,_pow_) {
  96. var amount_bak=amount;
  97. var base=10;
  98. if(isNaN(amount)){
  99. alert(amount+'必须为数字');
  100. return;
  101. }
  102. if(isNaN(_pow_)){
  103. alert(_pow_+'必须为数字');
  104. return;
  105. }
  106. amount = Math.round( ( amount - Math.floor(amount) ) *Math.pow(base,_pow_));
  107. amount=amount<10 ? '.0' + amount : '.' + amount
  108. amount=Math.floor(amount_bak)+amount;
  109. return amount;
  110. }
//在引用页面,可以采用document.forms[0].field1.value.trim()引用去空格String.prototype.trim = function(){    return this.replace(/(^/s*)|(/s*$)/g, "");}//将1,234,567.00转换为1234567.00function moneyToNumFiled(obj) {    var num=obj.value.trim();    var ss=num.toString(); if(ss.length==0){   return ""; }     num=new Number(ss.replace(/,/g, "")); if(!/^(/+|-)?/d+(/.[0-9]{1,2})?$/.test(num)){   alert("必须是数字型,切小数位最多保留两位");    obj.value="";   obj.focus();   return ;    } obj.value=num;    }//将1,234,567.00转换为1234567.00function moneyToNumValue(val) {    var num=val.trim();    var ss=num.toString(); if(ss.length==0){   return "0"; }     return ss.replace(/,/g, ""); }//用于页面控制//将1234567.00转换为1,234,567.00function numToMoneyField(obj) {       var ss=obj.value.toString().trim(); if(ss.length==0){   return ""; }     var num=new Number(ss.replace(/,/g, "")); if(!/^(/+|-)?/d+(/.[0-9]{1,2})?$/.test(num)){     alert("必须是数字型,切小数位最多保留两位");    obj.value="";   obj.focus();   return;    }  if(num<0){  obj.value = '-'+outputDollars(Math.floor(Math.abs(num)-0) + '') + outputCents(Math.abs(num) - 0); }else{     obj.value = outputDollars(Math.floor(num-0) + '') + outputCents(num - 0); }}//将1234567.00转换为1,234,567.00function numToMoneyValue(val) {       var ss=val.toString().trim(); if(ss.length==0){   return ""; }     var num=new Number(ss.replace(/,/g, "")); if(!/^(/+|-)?/d+(/.[0-9]{1,2})?$/.test(num)){   alert("必须是数字型,切小数位最多保留两位");      return "";    }  if(num<0){  return '-'+outputDollars(Math.floor(Math.abs(num)-0) + '') + outputCents(Math.abs(num) - 0); }else{     return outputDollars(Math.floor(num-0) + '') + outputCents(num - 0); }}function Chinese(num){   //如输入123.45可得到 壹百贰拾叁元肆角伍分    var AA = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");    var BB = new Array("","拾","百","千","万","亿","","");    var CC = new Array("角","分","");        var a = (""+ num).replace(/(^0*)/g, "").split("."), k = 0, re = "";    for(var i=a[0].length-1; i>=0; i--){        switch(k){            case 0 : re = BB[7] + re; break;            case 4 : if(!new RegExp("0{4}//d{"+ (a[0].length-i-1) +"}$").test(a[0]))                     re = BB[4] + re; break;            case 8 : re = BB[5] + re; BB[7] = BB[5]; k = 0; break;        }        if(k%4 == 2 && a[0].charAt(i+2) != 0 && a[0].charAt(i+1) == 0) re = AA[0] + re;        if(a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k%4] + re; k++;    } if(re.trim().length>0){   re+="元";  }        if(a.length>1){ //加上小数部分(如果有小数部分)        re += BB[6];        for(var i=0; i1) break;          re += AA[a[1].charAt(i)] + CC[i];        }    }    return re;}//格式化输入数字,并保留指定位小数//amount为原数字,_pow_为需要保留小数位数function powAmount(amount,_pow_) {  var amount_bak=amount;  var base=10;  if(isNaN(amount)){   alert(amount+'必须为数字');   return;  }  if(isNaN(_pow_)){   alert(_pow_+'必须为数字');   return;  }   amount = Math.round( ( amount - Math.floor(amount) ) *Math.pow(base,_pow_));   amount=amount<10 ? '.0' + amount : '.' + amount   amount=Math.floor(amount_bak)+amount;   return amount;}

本文出自:冯立彬的博客

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

金额与数字转化常用实用几个JS方法相关推荐

  1. 数字转化为字符串的两种方法

    public static void main(String[] args) {int a = 100;//使用空字符串相加数字,会自动变成字符串类型String str = "" ...

  2. 将数字转化为字符串的两种方法

    for(int i = 0; i < nums.length; i++) 1.strs[i] = String.valueOf(nums[i]): 2.strs[i] = Integer.toS ...

  3. 金额的大写方法_把数字转化为人民币的大写汉字

    package userweb.action.buy.haoTest.mianshiti; import java.math.BigDecimal; public class ConvertNumbe ...

  4. java 数字转化为汉字_工具类_java 数字转化为汉字大写

    public class Num2Rmb { private String[] hanArr = { "零", "壹", "贰", &quo ...

  5. 日期相减 python_如果将excel的数字转化为日期(高级教程)

    不知道大家有没有这样的体会,明明我们在单元格里输入的是一个日期,但是excel却提示我们输入的是一个数字,这个东西就很奇怪了,43471怎么就成了日期了那? 实际上这和计算机的底层设置有关系,计算机是 ...

  6. 关于把小写数字转化为大写数字的java代码

    import java.math.BigDecimal; public class ConvertNumber { /** 定义数组存放数字对应的大写 */ private final static ...

  7. linux 路径 冒号_收藏 | Linux常用实用命令

    脚本之家 你与百万开发者在一起 作者:geshan 来源丨格姗知识圈 Linux是我们开发人员必不可少的系统,也是经常接触到的.然而,Linux命令比较多,有些不常用也难记住.那么,我们如何更高效的使 ...

  8. 工作中常用,实用工具推荐!

    原文:工作中常用,实用工具推荐! Red Gate 家族 大名鼎鼎的RedGate,相信大家都不会陌生,Reflector就是它家做的.这里就不介绍了.我本地安装的是09年下的一个套装,我介绍下常用的 ...

  9. Python 如何优雅的将数字转化为时间格式

    将数字转化成时间格式 from dateutil.parser import parsea=20170825 b=str(a) c=parse(b) print(c) 2017-08-25 00:00 ...

最新文章

  1. 十分钟看会laravel导入导出功能,就这么简单
  2. Python之迭代器和生成器
  3. 解决通过 Visual Studio 打不开 ui 文件的问题
  4. android 多行 对齐方式,android – 按钮与多行文字下沉对齐线,如何解决?
  5. mysql中利用sql语句修改字段名称,字段长度等操作(亲测)
  6. 今日恐慌与贪婪指数为38 恐慌程度明显上升
  7. 关于Python在Linux、Mac和Windows上的安装方法总结
  8. (1)、win10 本地 安装 rabbitmq
  9. c语言怎样用vc绘图,大佬们,小菜鸟想问一问用vc编译器做简易画图软件
  10. 怎么将两个html合并一个文件,如何将两页pdf合成一页?(如何将两个pdf文件合并成一个)...
  11. MicroSIP软电话安装配置说明
  12. vue ui创建项目的常见错误
  13. android dropbox切换账户,输入用户名和密码到Dropbox用Calablash登录webview android
  14. 禅宗公案 艾舍尔的画与哥德尔定理——哥德尔逻辑与哲学之2
  15. 修改Console口登录密码
  16. css动画走马灯5秒,用animation制作走马灯
  17. html打开ppt自动播放,ppt文件怎么打开就可以全屏自动播放
  18. 用选择法或冒泡法对输入的50个字符(按照ASII码由小到大)进行排序
  19. matlab半小提琴图,小提琴图的画法
  20. 量子计算机:决胜21世纪的利器

热门文章

  1. 云小课 | MRS基础入门之HDFS组件介绍
  2. 华为云携手马栏山文创园助力湖南广电荣获国家广电总局多项大奖
  3. 面试官问我:如何在 Python 中解析和修改 XML
  4. 一文带你认识MindSpore新一代分子模拟库SPONGE
  5. 基于Docker快速搭建ELK
  6. dell r230u盘启动安装2008_dell r230服务器 怎么u盘开启
  7. Android笔记 定义意图过滤器intent- filter demo
  8. 在虚拟机中是无法运行CarlaUE.sh文件的
  9. 线性调频信号 matlab
  10. FPGA _Verilog HDL_8位加法器设计实验