在 typescript 中将字符串转换为数字-ag捕鱼王app官网

在 typescript 中将字符串转换为数字

作者:迹忆客 最近更新:2023/05/09 浏览次数:

在 typescript 中使用 number() 对象将字符串转换为数字,例如 const num1 = number(str)。 当用作函数时,number(value) 将字符串或其他值转换为数字。 如果该值无法转换,则返回 nan(不是数字)。

const str = '1234';
// 👇️ const num1: number
const num1 = number(str);
console.log(num1); // 👉️ 1234
// 👇️ const num2: number
const num2 =  str;
console.log(num2); // 👉️ 1234

typescript 中将字符串转换为数字

我们使用 number 函数将字符串转换为数字。

我们传递给函数的唯一参数是我们想要转换为数字的值。

我们可能还会看到开发人员使用一元加号 ( ) 运算符将字符串转换为数字。

const str = '1234';
const num2 =  str;
console.log(num2); // 👉️ 1234

它实现了与 number 函数相同的目标,但可能会使不熟悉一元加号 ( ) 运算符的代码读者感到困惑。

添加数字时应避免使用一元加号 ( ) 运算符,因为它会使我们的代码看起来很奇怪。

const str = '1234';
const num2 = 6    str;
console.log(num2); // 👉️ 1240

第一个加号是加法运算符,第二个加号用于将字符串转换为数字。

这两种方法都有正确的类型,并允许 typescript 推断变量存储了一个数字。

即使我们将不存储有效数字的字符串传递给 number 函数,我们也会得到 nan(不是数字)值,它也是数字类型。

console.log(typeof nan); // 👉️ "number"

如果我们尝试使用 number 函数或一元加号 ( ) 运算符将不是有效数字的字符串转换为数字,我们将返回一个 nan(不是数字)值。

const str = '1234test';
const num1 = number(str);
console.log(num1); // 👉️ nan
const num2 =  str;
console.log(num2); // 👉️ nan

typescript 使用 number 函数或一元加号

在这种情况下,我们应该使用 parseint()parsefloat() 函数。

就像函数名称所暗示的那样,parseint 将字符串转换为整数,而 parsefloat 转换为浮点数。

使用 parseint 或 parsefloat 将字符串转换为数字

使用 parseint() 函数将字符串转换为数字,例如 const num1 = parseint(str)parseint 函数将要解析的值作为参数,并返回从提供的字符串解析的整数。

const str = '1234.5test';
// 👇️ const num1: number
const num1 = parseint(str);
console.log(num1); // 👉️ 1234
// 👇️ const num2: number
const num2 = parsefloat(str);
console.log(num2); // 👉️ 1234.5

typescript parseint 或 parsefloat 将字符串转换为数字

我们传递给 parseint 函数的唯一参数是我们想要转换为整数的字符串。

第二个示例使用 parsefloat 函数将字符串转换为浮点数。

typescript 能够将变量的类型推断为数字,因为即使 nan 的类型也是数字。

需要注意的是,如果字符串的第一个非空白字符不能转换为数字,则 parseint()parsefloat() 函数将返回 nan(不是数字)。

const str = 'test1234.5test';
const num1 = parseint(str);
console.log(num1); // 👉️ nan
const num2 = parsefloat(str);
console.log(num2); // 👉️ nan

parseint()parsefloat() 函数能够解析字符串中的数字,如果字符串以有效数字开头,但是如果字符串的第一个非空白字符不能转换为数字,则方法短路返回 nan

如果我们遇到这种情况,需要使用 replace() 方法从字符串中提取一个数字。


从 typescript 中的字符串中提取数字

要在 typescript 中从字符串中提取数字,请调用 replace() 方法,例如 str.replace(/\d/g, '') 并将结果传递给 number() 函数。 replace() 方法会将所有非数字字符替换为空字符串并返回结果。

const str = 'hello 1234 world';
// 👇️ const replaced: string
const replaced = str.replace(/\d/g, '');
console.log(replaced); // 👉️ "1234"
let num: number | undefined;
if (replaced !== '') {
  num = number(replaced);
}
// 👇️ let num: number | undefined
console.log(num); // 👉️ 1234

从 typescript 中的字符串中提取数字

该示例使用 string.replace 方法将字符串中的所有非数字字符替换为空字符串。

这有效地从字符串中删除了所有非数字字符。

我们必须处理的一个极端情况是 - 如果字符串根本不包含数字,那么我们将留下一个空字符串。

将空字符串转换为数字会返回 0,这可能不是我们想要的。

// 👇️ 0
console.log(number(''));

这就是为什么我们将 num 变量的类型设置为 number | undefined 并且如果被替换的变量不存储空字符串,我们只会将变量设置为数字。

如果我们确定应用程序中的字符串将包含至少一个数字,或者wine 吧的用例可以将空字符串转换为 0,则可以稍微简化一下。

const str = 'hello 1234 world';
// 👇️ const replaced: string
const replaced = str.replace(/\d/g, '');
console.log(replaced); // 👉️ "1234"
// 👇️ const num: number
const num = number(replaced);
console.log(num); // 👉️ 1234

我们传递给 replace() 方法的第一个参数是我们要在字符串中匹配的正则表达式,第二个参数是每个匹配项的替换(空字符串)。

\d 字符匹配不是数字的字符。

我们添加了 g(全局)标志来匹配所有非数字字符并将它们替换为空字符串。

这意味着如果字符串只包含非数字字符,我们会将它们全部替换为空字符串,并且 string.replace 方法将返回一个空字符串。

请注意,string.replace 方法返回一个新字符串,它不会改变原始字符串。 字符串在 javascript 中是不可变的。

仅当 parseint()parsefloat() 函数不足时才应使用此方法,因为尽可能利用内置函数总是更好。

上一篇:

下一篇:

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 typescript 中返回一个 promise

发布时间:2023/03/19 浏览次数:586 分类:typescript

本教程讨论如何在 typescript 中返回正确的 promise。这将提供 typescript 中 returns promise 的完整编码示例,并完整演示每个步骤。

在 typescript 中定义函数回调的类型

发布时间:2023/03/19 浏览次数:1445 分类:typescript

本教程说明了在 typescript 中为函数回调定义类型的ag捕鱼王app官网的解决方案。为了程序员的方便和方便,实施了不同的编码实践指南。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图