亲宝软件园·资讯

展开

Vue封装 数字转换成万

小柠檬爱编程 人气:0

如何将数字转换成万

后端返回的数字要像下面这样在页面上以万为单位进行显示,为了方便,封装了此方法为笔记,以供以后使用

  // 万转化
  methods:{
      formatDecimal(num, decimal) {
        num = this.fixeds(num * 1)
        num = num.toString();
        let index = num.indexOf(".");
        if (index !== -1) {
          num = num.substring(0, decimal + index + 1);
        } else {
          num = num.substring(0);
        }
        return parseFloat(num).toFixed(decimal);
      },
    }

使用方法

js:

 methods: {
// 升降顺序
   saleamount(row) {
     return this.formatDecimal(Math.abs(row.month_amount * 1 - row.last_month_amount * 1) / 10000, 1)
   },

html:

 <span v-if="saleamount(scope.row) != 0?true:false" style="color:#b3abab">{{saleamount(scope.row)}}万</span>

这是保留自定义小数在main.js中封装的方法,上面的万转化直接调用this.fixeds方法

// 保留自定义小数
Vue.prototype.fixeds = function (num,count) {
  var decimal = 2
  if(count == undefined || count == null){
    decimal = 2
  }else{
    decimal = count
  }
	var numbers = '';
  // 保留几位小数后面添加几个0
  for (var i = 0; i < decimal; i++) {
      numbers += '0';
  }
  var s = 1 + numbers;
  // 如果是整数需要添加后面的0
  var spot = "." + numbers;
  // Math.round四舍五入  
  //  parseFloat() 函数可解析一个字符串,并返回一个浮点数。
  var value = Math.round(parseFloat(num) * s) / s;
  // 从小数点后面进行分割
  var d = value.toString().split(".");
  if (d.length == 1) {
      value = value.toString() + spot;
      return value;
  }
  if (d.length > 1) {
      if (d[1].length < 2) {
          value = value.toString() + "0";
      }
      return value;
  }
}

将大数字单位转化成 万、亿

//将超过万/亿的数字加上万/亿的单位
    getNum() {
      for (let i of this.paymentDiv) {
        //math.floor 就是去除小数点向下取整 math.floor(3.84) = 3
        //x.toString() 就是把x变成字符串
        let num1 = Math.floor(i.today).toString();
        //如果num1长度大于4(num1是万级别的)
        if (num1.length > 4) {
          //如果num1长度大于8(num1是亿级别的)
          if (num1.length > 8) {
            //num1除以1亿再取整得到的数字再加'亿'
            let num2 = Math.floor(num1 / 100000000);
            i.total = num2 + "亿";
          } else {
            //num1除以1亿再取整得到的数字再加'万'
            let num2 = Math.floor(num1 / 10000);
            i.total = num2 + "万";
          }
        }
      }
    },

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。 

加载全部内容

相关教程
猜你喜欢
用户评论