微信小程序--精确数字到百分位(不四舍五入版)工具

偶然想使用这个工具,但发现找不到原生的,只好自己弄一个。

官方精确数字到百分位倒是有,不过是四舍五入版,只需简单使用“str.toFixed(x)”即可.括号内的数字x表示保留的位数.如果是整数,就会不上0,特别注意:这方法返回的是String,如若要拿去运算必须使用parseInt()转换类型再操作。

但是这个方法并不是我想要的,我想要的是对结果不四舍五入,来获得一个精确到百分位的数字。也就是所谓的截小数点后位数2.

首先我建一个工具类

const method = {
  //精确到百分位(不四舍五入版)
  accurate2hundredth: function (num) {
    var p = num.toString().indexOf('.');
    //另一种写法//('' + num).indexOf('.')
    var r = 0;
    if (p > 0) {
      r = ('' + num).substring(0, p + 3);
      //另一种写法//num.toString().substring(0, p+3);
    }
    else {
      r = num + '.00';
    }
    return r;
  },
}
module.exports = method

这样就ok了

注意: 在普通时候num.indexOf('.');或许可行,但一旦涉及计算了,务必将num值转化为string。

为了防止意外 .substring()和.indexOf('.')前面必须要

num.toString().

或者

(' ' + num).

发布了36 篇原创文章 · 获赞 69 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/xchaha/article/details/103296971