zoukankan      html  css  js  c++  java
  • 格式化数字

    1.第一种方案

    $("#addItems").on("keyup","[data-numbox=num]",function(){
      this.value=this.value.replace(/[^d.]/g,"");
    });
    $("#addItems").on("change","[data-numbox=num]",function(){
      var val = this.value,smalls="";
      //为保证value里没有其他符号这里可以再做一次replace
      if(val==""){
      return;
      }else{
        val=parseFloat(val.replace(/[^d.]/g,"")).toFixed(2);
    }

    var dpos = val.indexOf(".");
      if(dpos>=0){
        smalls = val.substring(dpos+1,val.length);
        var intNum = val.substring(0,dpos);
    }

    if(smalls){
      val = formatVal(intNum) +"."+ smalls;
    }else{
      val = formatVal(val);
    }
      this.value=val;
    });

    //每三个数字加“,”分隔
    function formatVal(val){
      var reg=/(d+)(d{3})/;
      while(reg.test(val)){
        val=val.replace(reg,"$1"+","+"$2");
    }
      return val;
    }

    2.第二种方案

    // 格式化金额
    function outputmoney(number) {

      number = number.replace(/¥|\,/g, "");
      if (isNaN(number) || number == "") {
      return ""
    }
    ;
      number = Math.round(number * 100) / 100;
      if (number < 0) {
      return '¥-' + outputdollars(Math.floor(Math.abs(number) - 0) + '') + outputcents(Math.abs(number) - 0);
    } else {
      return '¥' + outputdollars(Math.floor(number - 0) + '') + outputcents(number - 0);
    }
    }
    // 格式金额之输出元
    function outputdollars(number) {
    if (number.length <= 3) {
    return (number == '' ? '0' : number);
    } else {
      var mod = number.length % 3;
      var output = (mod == 0 ? '' : (number.substring(0, mod)));
      for (i = 0; i < Math.floor(number.length / 3); i++) {
      if ((mod == 0) && (i == 0)) {
      output += number.substring(mod + 3 * i, mod + 3 * i + 3);
    } else {
      output += ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
    }
    }
      return (output);
    }
    }
    // 格式金额之输出角分
    function outputcents(amount) {
      amount = Math.round(((amount) - Math.floor(amount)) * 100);
      return (amount < 10 ? '.0' + amount : '.' + amount);
    }

  • 相关阅读:
    iOS 上传appstore 一直卡在正在通过 App Store 进行鉴定(转)
    MySQL连接超时处理
    Windows上安装运行Spark
    NSQ端口关系以及注意事项
    C++ http服务
    C++ OpenSSL 之一:编译和使用
    C++ OpenSSL 之二:生成RSA文件
    C++ OpenSSL 之三:生成CSR文件
    C++ OpenSSL 之四:CER转换为PEM
    C++ OpenSSL 之五:生成P12文件
  • 原文地址:https://www.cnblogs.com/woodyliang/p/6397361.html
Copyright © 2011-2022 走看看