JS中 Number()方法的两种用法

更新日期: 2019-12-20阅读: 2.6k标签: 数字

JS中,调用Number()主要有两种方式,一是作为一个 function 将任意类型的数据转换成数值,二是作为一个类,通过new 生成一个数值对象。其中第一种方式更常用。


用法一:function

Number(value)

将一个任意类型的数据转换成数值,无法转换的则返回 NaN,转换规则类似于类型隐式转换,与 parseFloat 略有差异。

转换规则如下:

值 Value结果 Result
undefinedNaN
null0
false0
true1
number原样输出
string忽略前后空格,碰到第一个非数字字符为止,空字符串返回 0
object调用内部 ToPrimitive(value, Number),如果是 Date 对象,返回从 1970年1月1日至Date的毫秒数

用法二:constructor

new Number(num)

作为一个构造器,生成一个 Number 实例, wraps num (after converting it to a number).

如:

> typeof new Number(3)
'object'

既然是对象,肯定有相关的属性和方法,Number也不例外。

属性 Properties

Number.MAX_VALUE 表示的最大正数值

  > Number.MAX_VALUE
  1.7976931348623157e+308

Number.MIN_VALUE 表示的最小正数值

> Number.MIN_VALUE
5e-324

Number.NaN 与全局 NaN 等同

Number.NEGATIVE_INFINITY 与 -Infinity 等同

Number.POSITIVE_INFINITY 与 Infinity 等同

方法 Methods

所有原生的数值相关函数均被保存在对象原型( Number.prototype )里,可以直接调用。

Number.prototype.toFixed(fractionDigits?)

> 0.0000003.toFixed(10)
'0.0000003000'

Number.prototype.toPrecision(precision?)

> 1234..toPrecision(3)
'1.23e+3'

Number.prototype.toString(radix?)

> 15..toString(2)
'1111'
> 65535..toString(16)
'ffff'


链接: https://www.fly63.com/article/detial/9333

Js对数字类型的支持

由于 JavaScript 采用 IEEE 754 标准,数值存储为64位双精度格式,数值精度最多可以达到 53 个二进制位(1 个隐藏位与 52 个有效位)。如果数值的精度超过这个限度,第54位及后面的位就会被丢弃.

JS实现数字金额转大写金额

由于js的弱精度,在计算小数相加时总是会丢失精度,JS将金额数字转大写的方法封装,数字大写对照表;下面为大家整理些常用的实现方法。

JS判断值是否是数字

isNaN()的缺点就在于 null、空格以及空串会被按照0来处理;对于空数组和只有一个数值成员的数组,isNaN返回false。校验只要是数字(包含正负整数,0以及正负浮点数)就返回true

Js浮点型数字误差引发的问题

JavaScript 中浮点型精度的误差,是非常基础但是却又经常不被重视的问题。文中分享的方案,足以覆盖项目中的所有情况,但如果用在其它地方或项目中,在一些极端情况下可能会有问题。

vue限制文本框输入数字的正确姿势

最近遇到一个需求,需要限制文本框输入数字,而number类型的输入框有箭头,个人不是很喜欢,因此想要寻求其它途径实现。本想通过网上找个现成的插件,然而百度,谷歌一番都没有找到满意的答案,至于随手一搜出来的方案或多或少都有点缺陷。因此自己动手,丰衣足食。

JS数字精度

最近在看计算机组成原理的浮点数部分,突然想起之前看过的一道快手面试题,为什么JS中0.1+0.2不等于0.3,应该如何解决?这里我们可以借这道题来说一下JS的精度问题

Js中的无穷数(Infinity)

Infinity(无穷大)在 JS 中是一个特殊的数字,它的特性是:它比任何有限的数字都大,如果不知道 Infinity, 我们在一些运算操作遇到时,就会觉得很有意思。现在我们来看看 JS 中的Infinity 属性,了解用例并解决一些常见的陷阱。

Js将负数转换为正数?

这是一种通用方法,我们首先检查数字是已经是正数还是负数,如果数字是负数,那么我们将数字乘以-1以使其为正数。使用Math.abs()方法将负数转换为正数。

Js如何从字符串中提取数字?

如果想要将一个字符串中的数字给提取出来,这要怎么做? 在JavaScript中可以使用match()方法将字符串中的数字提取到数字数组中。此方法将正则表达式作为参数,并从字符串中提取数字。使用match()方法提取数字分两种情况:

javascript如何判断值是否是数字?

javascript如何判断一个值是否是数字?下面本篇文章就来给大家介绍一下使用javascript判断一个值是否是数字的方法,sNaN() 函数用于检查其参数是否是非数字值。如果 值x 是特殊的非数字值 NaN

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!