前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个数字截取引发的精度问题(三)

一个数字截取引发的精度问题(三)

作者头像
前端黑板报
发布2018-01-29 16:52:51
7250
发布2018-01-29 16:52:51
举报
文章被收录于专栏:前端黑板报

上次总结的第四条: 当传入的参数小于数字的整数位时,返回指数形式表示的字符串。

代码语言:javascript
复制
let numObj = 12345.6numObj.toPrecision(2) // '1.2e+4'

在JavaScript中有一个专门返回数字的指数形式的方法:toExponential()

numObj.toExponential([fractionDigits])

解释:

A string representing the given Number object in exponential notation with one digit before the decimal point, rounded to fractionDigits digits after the decimal point.

大意:

返回一个小数点前有一位数字且已按照小数点后指定的位数(fractionDigits)四舍五入后的指数形式的字符串。

代码语言:javascript
复制
let numObj = 77.1234;console.log(numObj.toExponential());  // logs 7.71234e+1console.log(numObj.toExponential(4)); // logs 7.7123e+1console.log(numObj.toExponential(2)); // logs 7.71e+1console.log(77.1234.toExponential()); // logs 7.71234e+1console.log(77 .toExponential());     // logs 7.7e+1

注意:

  1. fractionDigits 取 0~20之间,其实就是小数点后有几个数字。
  2. 若numObj是一个没有小数点或者非指数形式的数字字面量,在调用时需要加一个空格,以防止解释器将"点"解释为小数点。

下篇将探究一下,经典问题:0.1 + 0.2 != 0.3。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端黑板报 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档