zoukankan      html  css  js  c++  java
  • 小数转成百分比非正常版本

    ChinaNumber = (numberValue) => {
        numberValue = Number(numberValue)+''
      
      var unit = "十百千万十百千"; // 对应单位
      var chineseNumber = "零一二三四五六七八九"; // 汉字数字
      if(numberValue.indexOf('.') < 0){
       return "百分之"+chineseNumber[numberValue];
      }
      //获取小数点后位数
      var pointNumber = numberValue.split(".")[1].length;
      //得到中文单位
      var unitStr = unit.substring(pointNumber , pointNumber + 1);
      //大于5位后面加上万,目前只支持到千万,后需要支持更多需加逻辑判断
      if (pointNumber >= 5) {
       unitStr = unitStr + '万';
      }
      //得到中文值(只支持到万位的数字,超过则显示异常)
      var number = Math.pow(10, pointNumber);
      var rateNumber = numberValue * number /10;
      var rateLenth = rateNumber.toString().length;
      var rateStr = '';
      //拼接中文值
      for (var index = 0; index < rateLenth; index++) {
       var strIndex = rateNumber.toString().substring(index, index + 1)
       if(strIndex == "."){
        rateStr = rateStr + '点'
       }else{
        rateStr = rateStr + chineseNumber.substring(Number(strIndex),Number(strIndex) + 1);
       }
       
      }
      //拼接中文结果
      var chineseValue = unitStr + '分之' + rateStr; // 转换后的汉字金额
      return chineseValue;
     }
     
     
     
     
     
     
     
     
     
     
     
    ChinaNumber = (numberValue) => {
      numberValue = Number(numberValue)+''
    if(numberValue.indexOf('.') < 0){
     return numberValue;
    }
    var unit = "十百千万十百千"; // 对应单位
    var chineseNumber = "零一二三四五六七八九"; // 汉字数字
    //获取小数点后位数

    var pointNumber 

    for (var i = 0 ;i<numberValue.split(".")[1].length; i++){
        if(numberValue.split(".")[1][i]>0){
          pointNumber = i+1
          break
        }
    }
    //得到中文单位
    var unitStr = unit.substring(pointNumber - 1, pointNumber);
    //大于5位后面加上万,目前只支持到千万,后需要支持更多需加逻辑判断
    if (pointNumber >= 5) {
     unitStr = unitStr + '万';
    }
    //得到中文值(只支持到万位的数字,超过则显示异常)
    var number = Math.pow(10, pointNumber+1);
    var rateNumber = Number(numberValue) * number /10;
    var rateLenth = rateNumber.toString().length;
    var rateStr = '';
    //拼接中文值
    for (var index = 0; index < rateLenth; index++) {
     var strIndex = rateNumber.toString().substring(index, index + 1)
     if(strIndex == "."){
        rateStr = rateStr + '点'
      }else{
        rateStr = rateStr + chineseNumber.substring(Number(strIndex),Number(strIndex) + 1);
      }
    }
    //拼接中文结果
    var chineseValue = unitStr + '分之' + rateStr; // 转换后的汉字金额
    return chineseValue;
    }
     
  • 相关阅读:
    动态svg图片简单制作
    5418.二叉树中的伪回文路径
    5417.定长子串中元音的最大数目
    76.最小覆盖子串
    1371.每个元音包含偶数次的最长子字符串
    680.验证回文字符串II
    152.乘积最大子数组
    5397.最简分数
    5398.统计二叉树中好节点的数目
    5413.重新排列句子中的单词
  • 原文地址:https://www.cnblogs.com/wsj1/p/13973783.html
Copyright © 2011-2022 走看看