请问如何让小数后面保留的0000颜色和非0数字不一样?

lastZero:function (num) {
    var reg = /0+$/;
    return reg.test(num)
  }

我写了一个正则,但是还想这个正则只是判断最后的数字是不是0

我想要的效果是 后台返回的一些数据,我要给这些数字的末尾如果是0的话,就让这些000的颜色不一样,就像下面这样
图片描述

请问,这种效果应该怎么实现, 这是在vue中的,是不是可以使用过滤器做的还是别的js代码?

能提供一个示例代码么?

阅读 2.3k
3 个回答

vue没用过,不过大概思路可以用<span>000</span>去处理

function splitNum(numStr){
    var regex=/^(?=.*\.)([\d.]*?)(0+)$/;
    var result=numStr.match(regex);
    return result?(result[1]+","+result[2]):numStr;
}
function lastZero(numStr){
    var regex=/[^0](?=0+$)/;
    return numStr.indexOf(".")>=0?numStr.replace(regex,"$&,"):numStr;
}

正则可以同时取出两部分数据

var a=/(.*?)(0+$)/
a.exec('10.2300')
// (3) ["10.2300", "10.23", "00", index: 0, input: "10.2300", groups: undefined]

可见 exec 返回一个匹配数组,索引 1 是结尾0以前的数据 索引 2 是结尾0匹配数据

let str = "123.320000" ;

Number(str) //前半部分使用此值
// 123.32

str.length - String(Number(str)).length 后半部分使用此值循环加0
//4

原谅我正则已经忘了...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题