如何在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()方法
The 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()构造函数。