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()构造函数
在TypeScript中,Number是一个对象,我们可以使用它作为构造函数来创建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);
On compiling, it will generate the following JavaScript code −
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()构造函数。