JS如何去掉小数末尾多余的0,并且最多保留两位小数

JS如何去掉小数末尾多余的0,并且最多保留两位小数 目录 js去掉小数末尾多余的0,并且最多保留两位小数 思路 js去掉小数点后面的0 (uniapp 和 vue比较适用) 总结 js去掉小数末尾多余的0,并且最多保留两位小数 比如: '' - 00.00 - 01 - 11.10 - 11.213000 - 1.211

目录
  • js去掉小数末尾多余的0,并且最多保留两位小数
    • 思路
  • js去掉小数点后面的0 (uniapp 和 vue比较适用)
  • 总结

js去掉小数末尾多余的0,并且最多保留两位小数

比如:

'' -> 0
0.00 -> 0
1 -> 1
1.10 -> 1
1.213000 -> 1.21
1.01 -> 1.01

代码如下:

思路

用JavaScript的parseFloat函数,parseFloat(’ ') 是NaN,返回0,然后用parseFloat转换字符串或者数字,判断是否是小数并且小数点后超过两位,超过两位就转成两位小数,不超过就直接返回。

  function unifyNumber(num) {
    if (num === '') {
      return 0
    } else {
      let handleNum = parseFloat(num)
      let isToFixed = handleNum.toString().includes('.') && handleNum.toString().split('.')[1].length > 2
      if (isToFixed) {
        return handleNum.toFixed(2)
      } else {
        return handleNum
      }
    }
  }

注意: 如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN

js去掉小数点后面的0 (uniapp 和 vue比较适用)

在项目中后端返回的数据是这样的

由于移动空间比较小,00 也比较占用空间,干脆去掉,美观又好看

var a=11.00;console.log(a);;数字类型用的时候直接就去掉了无用的0
var a=‘11.00';console.log(Number(a));

字符串类型转成数字类型也就直接去掉了后面没用的0

OK了~

总结

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

本文标题为:JS如何去掉小数末尾多余的0,并且最多保留两位小数