TypeScript string to number: Practical Conversion Guide
In this article, we’ll see how to convert a string to a number in TypeScript, exploring various practical and useful solutions to handle this need. It’s common, especially when receiving data from users or APIs, to need to transform a string into a number. Iโll guide you step by step with clear and simple examples, explaining what happens in each case.
1. Why Convert a String to a Number in TypeScript?
In TypeScript, strings and numbers are two distinct data types. If we try to use a string as a number without converting it, weโll get an error or an unexpected result. Here are some common use cases:
- Processing user input: A registration form may require an age or a price as input, which will be read as a string.
- Mathematical calculations: If you receive numbers as strings, you must convert them before performing mathematical operations.
- Parsing data from APIs: Data from APIs often comes as strings and needs to be transformed into numbers for further use.
2. TypeScript string to number: Main Solutions
Letโs look at the different options to convert a string to a number in TypeScript.
2.1. Using parseInt()
parseInt converts a string to an integer. If the string contains non-numeric characters, it stops reading as soon as it encounters them.
Example:
const str = "42";
const num = parseInt(str);
console.log(num); // Output: 42
Details:
- Useful for getting only the integer part of the number.
- If the string starts with a non-numeric character, the result will be
NaN(Not a Number).
const str = "42abc";
const num = parseInt(str);
console.log(num); // Output: 42
const invalidStr = "abc42";
const numInvalid = parseInt(invalidStr);
console.log(numInvalid); // Output: NaN
2.2. Using parseFloat()
parseFloat converts a string to a floating-point number.
Example:
const str = "42.5";
const num = parseFloat(str);
console.log(num); // Output: 42.5
Details:
- Ideal for values with decimal places.
- Similar to
parseInt, if the string starts with a non-numeric character, it will returnNaN.
2.3. Using the + Operator
The + operator in front of a string is the simplest and most direct method to convert it to a number.
Example:
const str = "42";
const num = +str;
console.log(num); // Output: 42
Details:
- More compact than
parseIntandparseFloat. - Works for both integers and floating-point numbers.
- Returns
NaNif the string cannot be converted to a number.
3. Handling Errors During Conversion
During conversion, we may encounter errors or invalid data. Itโs important to handle these cases to avoid malfunctions.
3.1. Checking for NaN
We can use the isNaN() function to check if the result is a valid number.
Example:
const str = "abc";
const num = parseInt(str);
if (isNaN(num)) {
console.log("Invalid value!");
} else {
console.log(`The number is: ${num}`);
}
4. Method Comparison
| Method | Description | Supports Decimals | Returns NaN for Non-numeric Values |
|---|---|---|---|
| parseInt() | Converts to an integer | No | Yes |
| parseFloat() | Converts to a floating-point | Yes | Yes |
| + (unary) | Simple and compact conversion | Yes | Yes |
5. Practical Tips
- Choose the right method based on the type of data you need to convert:
parseFloatfor decimal values,parseIntfor integers. - Always handle errors by using
isNaN(). - Avoid unnecessary conversions: If you already have a number, thereโs no need to convert it again.
Conclusion
Weโve explored how to convert a string to a number in TypeScript using various methods like parseInt, parseFloat, and the + operator. Choosing the right method depends on the context and the type of data youโre dealing with. Always ensure the validity of your data to avoid errors.

