首页 > 其他分享 >第一百零八篇:最常用的基本数据类型(Number,String类型)

第一百零八篇:最常用的基本数据类型(Number,String类型)

时间:2022-11-13 00:00:30浏览次数:40  
标签:Infinity String 数据类型 Number 数值 小数点 let console

好家伙,

 

1.Number类型

从名称中我们可以得出,这是一个存放数值的类型,

不同的数值类型相应地也有不同的数值字面量格式

number类型可以储存不同进制的数(不常用就是了)

 八进制:在数前加一个零("0"),后续的数字中不能有大于7的数值,否则八进制无效

十六进制:在数字前加一个零x("0x"),后面不可跟随超出十六进制的数,否则会十六进制无效

 

 

1.1.浮点值

number类型可以储存不同进制的数(不常用就是了)

要定义浮点值,数值中必须包含小数点,而且小数点后面必须至少有一个数字。

小数点前可以没有数字,但推荐加上。

(看上去有些奇怪,但可行)

let a = 0.1;
let b = .1;
console.log(a,b);

 

 

 

 因为存储浮点值使用的内存空间是存储整数值的两倍,所以ECMAScript总是想方设法把值转换为整数。

在小数点后面没有数字的情况下,数值就会变成整数。

类似地,如果数值本身就是整数,只是小数点后面跟着0(如1.0),那它也会被转换为整数,

 

let a = 10.0;
let b = 10.;
console.log(a, b);

 

 

 

 1.2.科学计数法

使用科学计数法使数字表达更简洁

其中在数字后面加上e10表示乘以10的十次方

同理,e-10表示十的负十次方

let a = 3.14e10; let b = 3.14e-10; let c =0.000005; let d =0.0000005; console.log(a, b); console.log(c, d);

 

 有趣的是,当小数点后的零大于等于6个后,将会被以科学计数法表示

 

1.3.值的范围

由于内存的限制,ECMAScript并不支持表示这个世界上的所有数值。

ECMAScript可以表示的最小数值保存在Number.MIN_VALUE 中,这个值在多数浏览器中是 5e-324;

可以表示的最大数值保存在Number.MAX_VALUE中,这个值在多数浏览器中是1.7976931348623157e+308。

如果某个计算得到的数值结果超出了 JavaScript可以表示的范围,那么这个数值会被自动转换为一个特殊的 Infinity(无穷)值。

任何无法表示的负数以Infinity(负无穷大)表示,任何无法表示的正数以Infinity(正面不无穷大)表示。

如果计算返回正 Infinity 或负 Infinity,则该值将不能再进一步用于任何计算。这是因为Infinity 没有可用于计算的数值表示形式。

要确定一个值是不是有限大(即介于JavaScript能表示的最小值和最大值之间),可以使用isFinite()函数,如下所示:

let result=Number.MAX_VALUE +Number.MAX_VALUE;

console.log(isFinite(result)); // false 

 

 

虽然超出有限数值范围的计算并不多见,但总归还是有可能的。因此在计算非常大或非常小的数值时,有必要监测一下计算结果是否超出范围。

注意 使用 Number.NEGATIVE_INFINITY和Number.POSITIVE_INFINITY 也可以获 取正、负Infinity。

没错,这两个属性包含的值分别就是-Infinity和Infinity。

 

 

1.4.NaN(Not a Number)

NaN是一个特殊数值,就像他的翻译一样-----"不是数字",用于表示本来要返回数值的操作失败了(比如说某某数除以零,但并不抛出错误) 

比如说某某数除以零,但并不抛出错误,而是返回NaN

 

1.5.数值转换

 

标签:Infinity,String,数据类型,Number,数值,小数点,let,console
From: https://www.cnblogs.com/FatTiger4399/p/16884815.html

相关文章

  • C语言数据类型转型没有搞明白的点。
    程序员面试宝典第30页,请专家指导下,感谢!1#include<stdio.h>2#defineproduct(x)((x)*(x))3intmain(intargc,char**argv){4printf("Hello,World!\n......
  • Redis字符串(String)
    String是Redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。常用命令set<key><value>添加键值对get<key>查询对应键值append<......
  • 数据类型、类型转换
    目录1.数据类型2.类型转换1.数据类型八大基本数据类型byte占1个字节范围:-128——127short占2个字节范围:-32768——32767int占4个字节范围:-232——232-1long占1个字......
  • mongodb基本操作命令及数据类型(一)
    从MongoDB3.2,它使用WiredTiger作为其默认的存储引擎,也可以通过以下语句查询默认的存储引擎1.mongodb入门命令showdatabases/dbs查看当前数据库(test(测试库)、admin......
  • JS数据类型判断
    数据类型判断typeofinstanceofconstructorObject.prototype.toString.call()typeoftypeof可以检测出的数据类型number、string、boolean、undefined和function。......
  • Day2-2 数据类型,数据类型拓展及类型转换
    数据类型强类型语言要求变量的使用要严格符合规定,多有变量都必须先定义后才能使用JAVA的数据类型分为两大类基本类型primitivetype引用类型referencetype......
  • 判断是否为回文字符串, StringBuffer对象的reverse()方法,返回值toString()
      import java.util.*;public class Solution {    /**     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可    ......
  • String StringBuffer StringBuilder区别
    得分点字符串是否可变,StringBuffer、StringBuilder线程安全问题标准回答Java中提供了String,StringBuffer两个类来封装字符串,并且提供了一系列方法来操作字符串对象。......
  • Python String Slicing
    StringsandCharacterDatainPython StringSlicingPythonalsoallowsaformofindexingsyntaxthatextractssubstringsfromastring,knownasstringsl......
  • Redis笔记02-数据类型
    String类型数据127.0.0.1:6379>setnamezhangsan#设置单key-valueOK127.0.0.1:6379>getname"zhangsan"127.0.0.1:6379>msetname1xiaowangname2lisiname3......