js 保留数字固定小数位进行截取

今天在做价格计算的时候遇到一个截取小数的问题,第一想到的是toFixed()方法,但是这个方法有个问题就是他在处理小数的时候会进行四舍五入。
先来看看toFixed的用法
toFixed()方法使用定点表示法来格式化一个数值。

语法:

numObj.toFixed(digits)

参数
digits:小数点后数字的个数;介于 0 到 20(包括)之间,实现环境可能支持更大范围。如果忽略该参数,则默认为 0。

例如:

	function financial(x) {
	  return Number.parseFloat(x).toFixed(2);
	}
	
	console.log(financial(123.456));
	// expected output: "123.46"
	
	console.log(financial(0.004));
	// expected output: "0.00"
	
	console.log(financial('1.23e+5'));
	// expected output: "123000.00"

通过下边的方法可以强制截取指定小数位数的数字

String.prototype.myToFixed = function(num) {
     var s = this;
     if(s.indexOf('.')!=-1){
         return s.substring(0,s.indexOf(".")+(num+1))
     }else{
         return s;
     }
 }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript,有多种方法可以实现数字保留两位小数。一种常见的方法是使用toFixed()函数。该函数可以将数字四舍五入并返回一个字符串,其小数点后的位数是固定的。例如,如果要保留两位小数,可以使用以下代码: ```javascript var number = 3.14159; var formattedNumber = number.toFixed(2); console.log(formattedNumber); // 输出 "3.14" ``` 另一种方法是使用parseFloat()和toFixed()函数的组合。首先,使用parseFloat()将数字转换为浮点数,然后使用toFixed()将其四舍五入并返回一个字符串。例如: ```javascript var number = "3.14159"; var parsedNumber = parseFloat(number); var formattedNumber = parsedNumber.toFixed(2); console.log(formattedNumber); // 输出 "3.14" ``` 还有一种方法是使用Math.round()函数和乘法运算来实现四舍五入并保留两位小数。例如: ```javascript var number = 3.14159; var roundedNumber = Math.round(number * 100) / 100; console.log(roundedNumber); // 输出 "3.14" ``` 以上是几种常见的方法,你可以根据具体的需求选择适合的方法来实现数字保留两位小数。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [JS数据格式化保留两位小数的多种实现方法总结](https://blog.csdn.net/jueqi2010/article/details/84166521)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值