我是靠谱客的博主 苗条唇彩,最近开发中收集的这篇文章主要介绍js变量-基本类型01-number类型整理:基本概念、浮点数值、NaN与 isNaN()、数值转换(Number()、parseInt()、parseFloat())详解一、基本概念二、浮点数值三、NaN(not a number)与 isNaN()四、数值转换:Number(string)、parseInt(string,radix)、parseFloat(string),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

number类型

  • 一、基本概念
  • 二、浮点数值
    • 注意点
      • a、浮点数值自主转化为整数
      • b、浮点数计算精度远远不如整数
      • c、浮点数范围:Infinity无穷、isFinite()
  • 三、NaN(not a number)与 isNaN()
  • 四、数值转换:Number(string)、parseInt(string,radix)、parseFloat(string)
    • 1、Number(string)
    • 2、parseInt(string, [radix]):字符串转为整数
    • 3、parseFloat(string):字符串转为浮点数,只可转换十进制浮点数

一、基本概念

number类型采用IEEE754格式来表示整数和浮点数类型,由ECMA-262定义不同数值字面量格式。
最基本的数值字面量格式包括:十进制八进制(格式:0+(0-7))、十六进制(格式:0x+(0-9或A-F))
注意:八进制字面量在严格模式下是无效的,会导致支持JavaScript引擎抛出错误

案列如下
在这里插入图片描述

二、浮点数值

浮点数概念:数值中必须包含一个小数点,并且小数点后面必须至少有一位数字。浮点数值的最高精度是17位小数。对于那些极大或极小的数值,用e表示法(在默认情况下,ECMAScript会讲小数点后面带有6个0以上的浮点数值转化为e表示法。)。

案例如下

var floatNum1 = 3.1e7      //31000000
var floatNum1 = 3.1e-7     //-31000000

注意点

a、浮点数值自主转化为整数

浮点数值需要的内存空间是保存数值的两倍,因此ECMAScript会自主将浮点数值转化为整数

案列如下

var floatNum = 10.0    //整数---解析为10

b、浮点数计算精度远远不如整数

在这里插入图片描述

c、浮点数范围:Infinity无穷、isFinite()

在大多数浏览器中:

  • Number.MAX_VALUE(最大值):1.7976931348623157e+308,超出这个值,这个数值将会被转换为Infinity(正无穷)
  • Number.MIN_VALUE(最小值):5e-324,超出这个值,这个数值将会被转换为-Infinity(负无穷)
  • 可以用isFinite(string)函数,检测数字是否位于最大值和最小值之间,是为true。

补充:Infinity无法参与计算

案列如下
在这里插入图片描述

三、NaN(not a number)与 isNaN()

NaN概念:非数值(not a number),这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误)。

特点:
1. 任何涉及NaN的操作都会返回NaN。
案列如下
在这里插入图片描述

2.NaN与任何值不相等,包括其本身
案列如下
在这里插入图片描述
针对NAN的这两个特点,ECMA定义了isNaN(string)函数,用于判断这个参数是否是“不是数值”
注意:isNaN(string)在接到参数后,会尝试将这个值转换为数值

案列如下
在这里插入图片描述

四、数值转换:Number(string)、parseInt(string,radix)、parseFloat(string)

Number()、parseInt()、parseFloat()这3个函数可以把非数值转换为数值。其中Number()可以用于任何数据,parseInt()、parseFloat()只用于把字符串转换为数值

1、Number(string)

转换规则

数字类型转换值
Booleantrue:1
false:0
null0
undefinedNaN
数字值数字值本身
字符串(不可转换八进制数值)包含数字(包括前面带正负号的情况)或含0x开头的十六进制数字。前面有0则忽略0,然后将其转换为对应的数值。
空字符串(不包含任何字符):0
含除上格式以为:NaN
对象调用对象的valueOf()方法,然后前面的规则转换返回值

案列如下
在这里插入图片描述

2、parseInt(string, [radix]):字符串转为整数

parseInt(string, radix)可以转换八进制数值radix(可选,默认10)为数字的基数(2~36),比如说,大多数情况下,我们要解析都是十进制数,所以radix的值一般为10。在转换八进制、十六进制时radix可以不写,按照如上基本概念缩写转换。
转换规则:

  • 第一步:它会忽略字符串前面的空格,直到找到第一个非空格字符。
  • 第二步:如果第一个字符不是字符或正负号,则返回NaN.是数字则会继续解析,直到遇到一个非数字字符。

案列如下
在这里插入图片描述

3、parseFloat(string):字符串转为浮点数,只可转换十进制浮点数

转换规则:

  • 第一步:它会忽略字符串前面的空格,直到找到第一个非空格字符。
  • 第二步:如果第一个字符不是字符或正负号,则返回NaN.是数字则会继续解析,直到遇到一个非数字字符。
    注意点:只可解析十进制数,“0x123”会被解析成0

案列如下
在这里插入图片描述

最后

以上就是苗条唇彩为你收集整理的js变量-基本类型01-number类型整理:基本概念、浮点数值、NaN与 isNaN()、数值转换(Number()、parseInt()、parseFloat())详解一、基本概念二、浮点数值三、NaN(not a number)与 isNaN()四、数值转换:Number(string)、parseInt(string,radix)、parseFloat(string)的全部内容,希望文章能够帮你解决js变量-基本类型01-number类型整理:基本概念、浮点数值、NaN与 isNaN()、数值转换(Number()、parseInt()、parseFloat())详解一、基本概念二、浮点数值三、NaN(not a number)与 isNaN()四、数值转换:Number(string)、parseInt(string,radix)、parseFloat(string)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(84)

评论列表共有 0 条评论

立即
投稿
返回
顶部