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

typescriptjavascriptweb development

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

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

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

使用"+"一元运算符

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

语法

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

let numberValue: number = +stringNmber;

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

示例

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

在输出中,用户可以观察到numberValue变量的类型是number。

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

console.log("numberValue变量的类型为" + typeof numberValue);
console.log("numberValue变量的值是" + numberValue);

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

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

console.log("numberValue 变量的类型为 " + typeof numberValue);
console.log("numberValue 变量的值是 " + numberValue);

输出 

上述代码将产生以下输出 –

numberValue 变量的类型为 number
numberValue 变量的值为 124354656

使用 Number() 构造函数

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

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

语法

用户可以按照以下语法使用 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("number1 的值为 " + number1);
console.log("number1 的类型为 " + typeof number1);

console.log("number2 的值为 " + number2);
console.log("number2 的类型为 " + typeof number2);

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

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

console.log("number1 的值为 " + number1);
console.log("number1 的类型为 " + typeof number1);
console.log("number2 的值为 " + number2);
console.log("number2 的类型为 " + typeof number2);

输出 

上述代码将产生以下输出 –

number1 的值为 35161
number1 的类型为 number

number2 的值为 65986132302
number2 的类型为 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() 构造函数。


相关文章