JavaScript中toFixed()方法的用法

这个是js中Number对象自带的toFixed的方法。用于进行四舍五入的操作。

例如:

5.05---->toFixed(1) 5.1

5.056--->toFixed(2) 5.06

可是,在实际使用过程中却遇到了问题。

avascript代码   收藏代码
  1. var money=0.00542;//0.006;  
  2. alert(Number(money).toFixed(2));  
  3. //0.00  


可以看出上面的结果是错误的,下面的方法通过巧妙的使用Math.round函数,完全可以解决数值很小时的精度问题。 

Javascript代码   收藏代码
  1. var money=0.00542;//0.006;  
  2. alert(Number(money).toFixed(2));  
  3.   
  4. function round2(number,fractionDigits){  
  5.     with(Math){  
  6.         return round(number*pow(10,fractionDigits))/pow(10,fractionDigits);  
  7.     }  
  8. }  
  9. alert(round2(money,2));//0.01  


round 方法 
返回与给出的数值表达式最接近的整数。 

Math.round(number) 

必选项 number 参数是要舍入到最接近整数的值。 

说明 
如果 number 的小数部分大于等于 0.5,返回值是大于 number 的最小整数。否则,round 返回小于等于 number 的最大整数。

相关文档:http://kevinpeng.iteye.com/blog/772591



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在JavaScript,toFixed()方法用于将数字转换为指定小数位数的字符串表示。该方法接受一个参数,即要保留的小数位数。\[1\] 例如,如果我们有一个数字324.12,并使用toFixed(1),则结果将是324.1。同样,如果我们使用toFixed(3),结果将是324.120。\[1\] 但是,toFixed()方法在处理某些情况下可能会出现精度问题。为了解决这个问题,有人重写了toFixed()方法,通过扩大原数字的倍数来保留指定的小数位数,并使用Math.floor()方法来获取最接近的整数。\[2\] 但是,有时候在使用toFixed()方法时,可能会出现死循环的问题,这可能是因为在toFixed()方法回调了toFixed()方法,导致无法退出循环。\[3\] 因此,在使用toFixed()方法时,需要注意这些问题,并根据具体情况选择合适的解决方案。 #### 引用[.reference_title] - *1* [jstoFixed()方法](https://blog.csdn.net/greek7777/article/details/120464309)[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^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [JS的toFixed方法](https://blog.csdn.net/qq_40805231/article/details/101271638)[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^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值