检查 String 是否是 TypeScript 中的有效数字

检查 String 是否是 TypeScript 中的有效数字

Check if String is a Valid Number in TypeScript

在 TypeScript 中检查字符串是否为有效数字:

  1. 检查字符串是否为空字符串或仅包含空格。
  2. 将字符串传递给Number.isNaN()方法。
  3. 如果Number.isNaN返回false,则该字符串是一个有效数字。
索引.ts
function isNumber(str: string): boolean { if (typeof str !== 'string') { return false; } if (str.trim() === '') { return false; } return !Number.isNaN(Number(str)); } const str1 = '7'; const str2 = '7.3'; const str3 = ' '; const str4 = '123hello'; console.log(isNumber(str1)); // 👉️ true console.log(isNumber(str2)); // 👉️ true console.log(isNumber(str3)); // 👉️ false console.log(isNumber(str4)); // 👉️ false

我们创建了一个可重用的函数,它接受 astring并返回一个boolean
字符串是否为有效数字的结果。

我们首先检查传递给函数的值是否没有 类型
string,如果是这种情况,我们会false立即返回。

When using TypeScript you can assume that the passed in value is going to be a string, but the check is just there for runtime safety.

Then, we check if the provided value is an empty string or contains only
whitespace, in which case we also return false.

Finally, we use the
Number.isNaN
method to check if the string converted to a number is NaN (not a number).

We use the
logical NOT (!)
operator to negate the value returned from the Number.isNaN method.

The Number.isNaN method will return true if the passed in value is NaN
(not a number) and its type is number, otherwise it returns false.

index.ts
console.log(Number.isNaN('hello')); // 👉️ false console.log(Number.isNaN(Number('hello'))); // 👉️ true

我们的函数检查传入的字符串是否为有效数字,而不检查传入的字符串是否NaN在转换为数字时是否有效,因此我们必须否定对该Number.isNaN方法的调用。

索引.ts
console.log(!Number.isNaN(Number('hello'))); // 👉️ false console.log(!Number.isNaN(Number('17.5'))); // 👉️ true

如果对该Number.isNaN()方法的调用返回false,则传入的字符串是一个有效数字,我们应该返回true