JavaScript转换和校验数字

本节我们使用的案例还是继续之前的银行家应用程序,只不过我们呢增加了两个账号,代码如下:

const account1 = {
  owner: 'Jonas Schmedtmann',
  movements: [200, 455.23, -306.5, 25000, -642.21, -133.9, 79.97, 1300],
  interestRate: 1.2, // %
  pin: 1111,

  movementsDates: [
    '2019-11-18T21:31:17.178Z',
    '2019-12-23T07:42:02.383Z',
    '2020-01-28T09:15:04.904Z',
    '2020-04-01T10:17:24.185Z',
    '2020-05-08T14:11:59.604Z',
    '2020-05-27T17:01:17.194Z',
    '2020-07-11T23:36:17.929Z',
    '2020-07-12T10:51:36.790Z',
  ],
  currency: 'EUR',
  locale: 'pt-PT', // de-DE
};

const account2 = {
  owner: 'Jessica Davis',
  movements: [5000, 3400, -150, -790, -3210, -1000, 8500, -30],
  interestRate: 1.5,
  pin: 2222,

  movementsDates: [
    '2019-11-01T13:15:33.035Z',
    '2019-11-30T09:48:16.867Z',
    '2019-12-25T06:04:23.907Z',
    '2020-01-25T14:18:46.235Z',
    '2020-02-05T16:33:06.386Z',
    '2020-04-10T14:43:26.374Z',
    '2020-06-25T18:49:59.371Z',
    '2020-07-26T12:01:20.894Z',
  ],
  currency: 'USD',
  locale: 'en-US',
};

const accounts = [account1, account2];

字符串转换为数字

console.log(Number('23'));   //使用Number将字符串转换为数字
console.log(+'23');  //在JavaScript中,当JavaScript看到运算符时,自动的会转换为字符串

解析数字

console.log(Number.parseInt('30RMB'));

但是这种解析必须开头是数字

console.log(Number.parseInt('30RMB'));
console.log(Number.parseInt('id223'));

在这里插入图片描述

● 除了这些,也可以解析浮点数

console.log(Number.parseFloat('2.5rem'));

在这里插入图片描述

判断一个值是否是 “NaN”(Not a Number)

console.log(isNaN(123)); // false,因为123是一个数字
console.log(isNaN('123')); // false,因为字符串 '123' 可以转换成数字
console.log(isNaN('abc')); // true,因为 'abc' 不是一个数字
console.log(isNaN(NaN));  // true,因为 NaN 是 "Not a Number"

● 判断一个数值是不是数字

console.log(Number.isFinite(20));  //true 是数字
console.log(Number.isFinite('20'));//false 不是数字
console.log(Number.isFinite(+'20xx'));//false  这个返回NaN
console.log(Number.isFinite(23 / 0));//false 违反运算法则

或者

console.log(Number.isInteger(20)); //true 是数字
console.log(Number.isInteger('20')); //false 不是数字
console.log(Number.isInteger(+'20xx')); //false  这个返回NaN
console.log(Number.isInteger(23 / 0)); //false 违反运算法则

在这里插入图片描述

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值