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

上篇文章只是简单介绍了Number的 toFixed 方法,周末抽时间把 Number 里的一些方法又看了一下,其中有个方法引起我的注意:

Number.prototype.toPrecision()

precision 为"精度"的意思,貌似这个方法更符合上一篇文章所说的功能。可是事情并没有像我想象的一样,先看官方定义:

A string representing a Number object in fixed-point or exponential notation rounded to precision significant digits

大意:

返回一个定点和指数表示的同时四舍五入到指定位数的字符串。

再看一下使用方法,同时会总结出一些要点:

let PI = 3.1415926console.log(PI.toPrecision(6)) // 3.14159console.log(PI.toPrecision(4)) // 3.142console.log(PI.toPrecision(2)) // 3.1

1.按指定的数字截取数字位数,同时四舍五入。

let numObj = 0.000123console.log(numObj.toPrecision());    // '0.000123'console.log(numObj.toPrecision(5));   // '0.00012300'console.log(numObj.toPrecision(2));   // '0.00012'console.log(numObj.toPrecision(1));   // '0.0001' 

2.没有传入参数时,返回数字的字符串形式,3.截取的位置从左边第一个非0的数字开始算起,不足补0。

let numObj = 12345.6numObj.toPrecision(2) // '1.2e+4'

4.当传入的参数小于数字的整数位时,返回指数形式标识的字符串。

此方法用下来并没有达到我直觉认为的那样,这在一些金钱格式化上还不是很好用。

原文发布于微信公众号 - 前端黑板报(FeHeiBanBao)

原文发表时间:2017-03-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

Python正则表达式的七个使用范例

作为一个概念而言,正则表达式对于Python来说并不是独有的。但是,Python中的正则表达式在实际使用过程中还是有一些细小的差别。 本文是一系列关于Pyth...

3385
来自专栏前端黑板报

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

上次总结的第四条: 当传入的参数小于数字的整数位时,返回指数形式表示的字符串。 let numObj = 12345.6numObj.toPrecision(2...

2008
来自专栏keyWords

JavaScript之作用域和闭包

801
来自专栏和蔼的张星的图像处理专栏

212. 空格替换先扩充,从后往前处理

设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。 你的程序还需要返回被替...

812
来自专栏诸葛青云的专栏

C语言入门基础学习函数?来看我就告诉你!

在前面我们已经讲过了一些简单的函数,如程序的主函数main()、标准输出函数printf()。在C语言中,大多数功能都是依靠函数来实现的。But,你知道什么是函...

1243
来自专栏JetpropelledSnake

Python入门之面向对象编程(一)面向对象概念及优点

本文分为如下几个部分 首先说明面向对象是什么,然后结合实际例子说明面向对象的如下几个优点 方便函数管理 数据封装 对象操作 最后总结一下面向对象的好处 概念...

3727
来自专栏deepcc

Js apply() call()使用详解

3516
来自专栏恰同学骚年

剑指Offer面试题:16.合并两个排序的链表

PS:这也是一道出镜率极高的面试题,我相信很多童鞋都会很眼熟,就像于千万人之中遇见不期而遇的人,没有别的话可说,唯有轻轻地问一声:“哦,原来你也在这里? ”

571
来自专栏GreenLeaves

JavaScript之apply()和call()的区别

我 在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示 例,总算是看...

2057
来自专栏布尔

想起温习一下JS中的this apply call arguments

很多时候讲到语言入门,大家会认为就是要了解一下语言的语法、数据类型和常用函数。这一课对于所有的计算机专业的毕业生来说都可以自学,然而在最近的实践中(带了两个实习...

21310

扫码关注云+社区