fe-interview icon indicating copy to clipboard operation
fe-interview copied to clipboard

[TypeScript] 第1541天 在Typescript中如何将字符串转换为数字?

Open haizhilin2013 opened this issue 2 years ago • 1 comments
trafficstars

第1541天 在Typescript中如何将字符串转换为数字?

3+1官网

我也要出题

haizhilin2013 avatar Jul 04 '23 20:07 haizhilin2013

在TypeScript中,将字符串转换为数字的方法有很多种。以下是几种常见的方法:

1. 使用 parseIntparseFloat

  • parseInt:将字符串转换为整数,可以指定进制。

    const str1: string = "42";
    const num1: number = parseInt(str1, 10); // 10表示十进制
    console.log(num1); // 输出: 42
    
  • parseFloat:将字符串转换为浮点数。

    const str2: string = "42.42";
    const num2: number = parseFloat(str2);
    console.log(num2); // 输出: 42.42
    

2. 使用 Number 构造函数

  • Number 构造函数:直接将字符串转换为数字。

    const str3: string = "123.45";
    const num3: number = Number(str3);
    console.log(num3); // 输出: 123.45
    

3. 使用一元加号(+

  • 一元加号:一种简洁的方法,将字符串转换为数字。

    const str4: string = "67";
    const num4: number = +str4;
    console.log(num4); // 输出: 67
    

4. 使用 parseIntparseFloat 的另一种形式

  • 带有错误处理的 parseIntparseFloat

    const str5: string = "101";
    const num5: number = parseInt(str5);
    if (isNaN(num5)) {
      console.log("转换失败");
    } else {
      console.log(num5); // 输出: 101
    }
    
    const str6: string = "99.99";
    const num6: number = parseFloat(str6);
    if (isNaN(num6)) {
      console.log("转换失败");
    } else {
      console.log(num6); // 输出: 99.99
    }
    

5. 使用 Number 和错误处理

  • 使用 Number 构造函数并进行错误处理

    const str7: string = "abc";
    const num7: number = Number(str7);
    if (isNaN(num7)) {
      console.log("转换失败");
    } else {
      console.log(num7);
    }
    

6. TypeScript类型推断与自动转换

  • 在TypeScript中,通过类型推断自动转换类型

    const str8: string = "456";
    const num8: number = +str8; // 使用一元加号进行类型转换
    console.log(num8); // 输出: 456
    

示例总结

const str1: string = "42";
const num1: number = parseInt(str1, 10);
console.log(num1); // 输出: 42

const str2: string = "42.42";
const num2: number = parseFloat(str2);
console.log(num2); // 输出: 42.42

const str3: string = "123.45";
const num3: number = Number(str3);
console.log(num3); // 输出: 123.45

const str4: string = "67";
const num4: number = +str4;
console.log(num4); // 输出: 67

const str5: string = "101";
const num5: number = parseInt(str5);
if (isNaN(num5)) {
  console.log("转换失败");
} else {
  console.log(num5); // 输出: 101
}

const str6: string = "99.99";
const num6: number = parseFloat(str6);
if (isNaN(num6)) {
  console.log("转换失败");
} else {
  console.log(num6); // 输出: 99.99
}

const str7: string = "abc";
const num7: number = Number(str7);
if (isNaN(num7)) {
  console.log("转换失败");
} else {
  console.log(num7);
}

const str8: string = "456";
const num8: number = +str8;
console.log(num8); // 输出: 456

这些方法可以帮助你在不同的场景下将字符串转换为数字,选择适合你需求的方法即可。

llccing avatar Jun 26 '24 08:06 llccing