js中,保留两位小数 不足补0的正则表达式怎么写?

比如
3----3.00
3.1----3.10
3.123---->3.12
怎么写?

阅读 12.3k
2 个回答

不用正则,直接用toFixed(n)就可以了,n表示保留几位小数,不足的补0,太多的就四舍五入。

var a=3, b=3.1, c=3.123;

console.log(a.toFixed(2)); // 3.00
console.log(b.toFixed(2)); // 3.10
console.log(c.toFixed(2)); // 3.12

正则的话,下面的可以参考下:

function a(numb) {
    let numb_str = numb.toString()
    return numb_str.indexOf('.') > 0 ? numb_str.replace(/\.\d*/i, (xiaoshu) => {return (xiaoshu.length === 2 ? xiaoshu + '0' : xiaoshu.slice(0, 3))}) : numb_str + '.00'
}

自己可以再扩展下,比如 numb 参数是不是 Number 型之类的

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