js截取小数点前的数字_js中如何截取小数点后两位数字

今天给大家推荐几个亲测好用的截取小数点后几位数字的方法:

法一:Math.round法,保留两位小数

// round() 方法可把一个数字舍入为最接近的整数。

function math(){

var num = 23.456322;

console.log('数学方法');

console.log(Math.round(num*100)/100);

}

math();

法二:toFixed方法进行四舍五入,强制保留两位小数,不够补0

// IE5.5+才支持

function fixed(){

var num = 23.456322;

console.log('用toFixed方法进行四舍五入,强制保留两位小数,不够补0');

console.log(num.toFixed(2));

}

fixed();

法三:不推荐,但也记录一下吧

// 最笨的办法

function get(){

num = 23.456322 + '';

var str = num.substring(0,num.indexOf(".") + 3);

console.log('直接截取小数点后两位,不做四舍五入');

console.log(str);

}

get();

代码实例:

功能:将浮点数四舍五入,取小数点后2位

function toDecimal(x) {

var f = parseFloat(x);

if (isNaN(f)) {

return;

}

f = Math.round(x*100)/100;

return f;

}

console.log(toDecimal(num));

功能:四舍五入,随意保留几位小数

function fomatFloat(num,pos){

// Math.pow(x,y) x 的 y 次幂

return Math.round(num*Math.pow(10, pos))/Math.pow(10, pos);

}

console.log("保留1位小数:" + fomatFloat(3.14559267, 1))

补充:input输入限制为小数点后两位

/**

* input输入保留两位小数

*/

function clearNoNum(obj){

// obj.value = obj.value.replace(/[^0-9-]+/,''); js写法

obj.val(obj.val().replace(/[^\d.]/g,"")); //清除“数字”和“.”以外的字符

obj.val(obj.val().replace(/\.{2,}/g,".")); //只保留第一个. 清除多余的

obj.val(obj.val().replace(".","$#$").replace(/\./g,"").replace("$#$","."));

obj.val(obj.val().replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')); //只能输入两个小数

if(obj.val().indexOf(".")< 0 && obj.val() !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额

obj.val(parseFloat(obj.val()));

}

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值