js 数值以及方法

JavaScript 数值始终是 64 位的浮点数

与许多其他编程语言不同,JavaScript 不会定义不同类型的数,比如整数、短的、长的、浮点的等等。
JavaScript 数值始终以双精度浮点数来存储,此格式用 64 位存储数值,其中 0 到 51 存储数字(片段),52 到 62 存储指数,63 位存储符号。

科学计数法

超大或超小的数可通过科学计数法来写:

var x = 123e5;    // 12300000
var y = 123e-5;   // 0.00123
精度(重点)

1、整数(不使用指数或科学计数法)会被精确到 15 位。

var x = 999999999999999;   // x 将是 999999999999999
var y = 9999999999999999;  // y 将是 10000000000000000

2、小数的最大数是 17 位,但是浮点的算数并不总是 100% 精准:

var x = 0.2 + 0.1;         // x 将是 0.30000000000000004

3、使用乘除法有助于解决上面的问题:

var x = (0.2 * 10 + 0.1 * 10) / 10;       // x 将是 0.3
toFixed() 方法 (重点:保留小数位,返回字符串数字)

toFixed() 返回字符串值,它包含了指定位数小数的数字
toFixed(2) 非常适合处理金钱。

  var x = 9.656;
  var a = x.toFixed(0); // 返回 10
  var b = x.toFixed(2); // 返回 9.66
  var c = x.toFixed(4); // 返回 9.6560
  var d = x.toFixed(6); // 返回 9.656000
  console.log(a, b, c, d)
  console.log(typeof x)   //number
  console.log(typeof a)   //string
toPrecision() 方法 (重点:保留,返回字符串数字)

toPrecision() 返回字符串值,它包含了指定长度的数字:

  var x = 9.656;
  var a = x.toPrecision(); // 返回 9.656
  var b = x.toPrecision(2); // 返回 9.7
  var c = x.toPrecision(4); // 返回 9.656
  var d = x.toPrecision(6); // 返回 9.65600
  console.log(typeof a)  //string
转化为数字的方法

如果无法转换为数值,则返回 NaN (Not a Number)。

1、Number() 可用于把 JavaScript 变量转换为数值:

x = true;
Number(x);        // 返回 1
x = false;     
Number(x);        // 返回 0
x = new Date();
Number(x);        // 返回 1404568027739
x = "10"
Number(x);        // 返回 10
x = "10.11"
Number(x);        // 返回 10.11
x = "10 20"
Number(x);        // 返回 NaN

2、parseInt() 解析一段字符串并返回数值。允许空格。只返回首个数字,返回整数型

parseInt("10");         // 返回 10
parseInt("10.33");      // 返回 10
parseInt("10 20 30");   // 返回 10
parseInt("10 years");   // 返回 10
parseInt("years 10");   // 返回 NaN

3、parseFloat() 解析一段字符串并返回数值。允许空格。只返回首个数字

parseFloat("10");        // 返回 10
parseFloat("10.33");     // 返回 10.33
parseFloat("10 20 30");  // 返回 10
parseFloat("10 years");  // 返回 10
parseFloat("years 10");  // 返回 NaN
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值