如何在 TypeScript 中将字符串转换为数字?


字符串和数字都是 TypeScript 中的原始数据类型。有时,我们会以字符串格式获取数字,我们需要将字符串值转换为数字才能对该值执行数学运算。如果我们对字符串值执行数学运算,则会产生奇怪的结果。例如,将另一个数字值添加到数字字符串会将数字附加到字符串而不是进行加法。

我们将学习使用 TypeScript 中的各种方法和方法将字符串转换为数值。

因此,我们需要将字符串转换为 TypeScript 中的数字。

使用“+”一元运算符

一元运算符接受一个操作数。在评估操作数之前,它会将操作数转换为数字值。因此,我们可以使用它将字符串转换为数值。

语法

用户可以按照以下语法将字符串转换为数值。

let numberValue: number = +stringNmber;

在上述语法中,我们使用 stringNumber 变量作为一元“+”运算符的操作数。

示例

在此示例中,stringNumber 变量以字符串格式包含数字值。之后,我们使用一元“+”运算符将 stringNumber 字符串值转换为数字,并将计算出的值存储在 numberValue 变量中,该变量的数据类型为数字。

在输出中,用户可以观察到 numberValue 变量的类型为数字。

let stringNmber: string = "124354656";
let numberValue: number = +stringNmber;

console.log("The type of numberValue variable is " + typeof numberValue);
console.log("The value of the numberValue variable is " + numberValue);

编译后,它将生成以下 JavaScript 代码:

var stringNmber = "124354656";
var numberValue = +stringNmber;

console.log("The type of numberValue variable is " + typeof numberValue);
console.log("The value of the numberValue variable is " + numberValue);

输出

以上代码将产生以下输出:

The type of numberValue variable is number
The value of the numberValue variable is 124354656

使用 Number() 构造函数

Number 是 TypeScript 中的一个对象,我们可以将其用作构造函数来创建 Number 对象的实例。

我们可以将数字值作为 Number() 构造函数参数以数字或字符串格式传递。

语法

用户可以按照以下语法使用 Number() 构造函数将字符串转换为数值。

let num: number = Number(str);

在上述语法中,我们以字符串格式将数字值作为 Number() 构造函数的参数传递。

示例

在此示例中,我们创建了包含字符串格式数字值的 string1 和 string2 变量。之后,我们使用 Number() 构造函数将这两个变量转换为数字,并将它们存储在 number1 和 number2 变量中。

将字符串值转换为数字后,用户可以在输出中观察其类型。

let string1: string = "35161";
let string2: string = "65986132302";

let number1: number = Number(string1);
let number2: number = Number(string2);

console.log("The value of number1 is " + number1);
console.log("The type of number1 is " + typeof number1);

console.log("The value of number2 is " + number2);
console.log("The type of number2 is " + typeof number2);

编译后,它将生成以下 JavaScript 代码:

var string1 = "35161";
var string2 = "65986132302";
var number1 = Number(string1);
var number2 = Number(string2);

console.log("The value of number1 is " + number1);
console.log("The type of number1 is " + typeof number1);
console.log("The value of number2 is " + number2);
console.log("The type of number2 is " + typeof number2);

输出

以上代码将产生以下输出:

The value of number1 is 35161
The type of number1 is number

The value of number2 is 65986132302
The type of number2 is number

使用 parseInt() 方法

TypeScript 的 parseInt() 方法从数字的字符串或数字本身中提取整数值,删除数字的小数部分。

语法

用户可以按照以下语法使用 TypeScript 中的 parseInt() 方法将字符串转换为数字。

let num: number = parseInt(str);

在上述语法中,我们以字符串格式将数字值作为 parseInt() 方法的参数传递。

示例

在下面的示例中,convertNumToString() 函数将字符串转换为数字并返回数字值。在函数中,我们使用 parseInt() 方法从字符串中提取数字。

我们通过以字符串格式传递不同的数字作为参数来调用了两次 convertNumToString() 函数,用户可以在输出中观察转换后的数字值。

let stringNumber: string = "12234567998";
let stringNumber2: string = "34345465.4333";

function convertNumToString(str: string) {
  let num: number = parseInt(str);
  return num;
}

console.log(
  "After converting the " +
    stringNumber +
    " to number value is " +
    convertNumToString(stringNumber)
);

console.log(
  "After converting the " +
    stringNumber2 +
    " to number value is " +
    convertNumToString(stringNumber2)
);

编译后,它将生成以下 JavaScript 代码:

var stringNumber = "12234567998";
var stringNumber2 = "34345465.4333";
function convertNumToString(str) {
   var num = parseInt(str);
   return num;
}
console.log("After converting the " +
   stringNumber +
   " to number value is " +
   convertNumToString(stringNumber));
console.log("After converting the " +
   stringNumber2 +
   " to number value is " +
   convertNumToString(stringNumber2));

输出

以上代码将产生以下输出:

After converting the 12234567998 to number value is 12234567998
After converting the 34345465.4333 to number value is 34345465

使用 parseFlot() 方法

parseFloat() 方法与 parseInt() 方法的工作原理相同,用于将字符串转换为数字。唯一的区别在于它不会删除小数点后的值,这意味着它从字符串中提取浮点数,而 parseInt() 方法从字符串中提取整数值。

语法

用户可以按照以下语法使用 parseFloat() 方法将字符串转换为数字。

let numberValue: number = parseFloat(stringValue);

在上述语法中,stringValue 是字符串格式的浮点数。

示例

在下面的示例中,stringToFloat() 函数演示了如何使用 parseFloat() 方法从给定的字符串中提取浮点数。我们已经调用了三次 stringToFloat() 函数。

在第三次调用时,我们将包含数字和其他字符的字符串作为 stringToFloat() 函数的参数传递。在输出中,我们可以看到它从字符串中删除了字符,只提取了浮点数。

let strFloat: string = "34356757";
let strFloat2: string = "7867.465546";

function stringToFloat(stringValue: string) {
  let numberValue: number = parseFloat(stringValue);
  console.log(
    "The " +
      stringValue +
      " value after converting to the number is " +
      numberValue
  );
}

stringToFloat(strFloat);
stringToFloat(strFloat2);
stringToFloat("232343.43434fd");

编译后,它将生成以下 JavaScript 代码:

var strFloat = "34356757";
var strFloat2 = "7867.465546";
function stringToFloat(stringValue) {
    var numberValue = parseFloat(stringValue);
    console.log("The " +
        stringValue +
        " value after converting to the number is " +
        numberValue);
}
stringToFloat(strFloat);
stringToFloat(strFloat2);
stringToFloat("232343.43434fd");

输出

以上代码将产生以下输出:

The 34356757 value after converting to the number is 34356757
The 7867.465546 value after converting to the number is 7867.465546
The 232343.43434fd value after converting to the number is 232343.43434

在本教程中,用户学习了四种将以字符串格式给出的数字值转换为实际数字的方法。将字符串转换为数字的最佳方法是使用一元运算符,它比其他运算符更有效率。但是,用户也可以使用 Number() 构造函数。

更新于:2023年2月21日

25K+ 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.