How to convert a String to a Number in TypeScript

Johnny Simpson - Jun 19 '22 - - Dev Community

TypeScript is a strongly typed language, which means we have to give things a little more thought when converting between them. Fortunately, converting a string to a number is pretty easy in TypeScript.

Converting a String to a Number in TypeScript

If we're using integers, the easiest way to convert a string into a number is to simply use the unary (+) operator. Here is an example using a simple integer:

let someString:string = "4245"
let myNumber:number = +someString;

// Returns 4246
console.log(myNumber + 1);
Enter fullscreen mode Exit fullscreen mode

We can also just use or parseInt for number-like integer strings:

let someString:string = "4245"
let myNumber:number = parseInt(someString);

// Returns 4246
console.log(myNumber + 1);
Enter fullscreen mode Exit fullscreen mode

Converting Decimals

Unfortunately this method won't work very well for decimals, as + and parseInt deal only with integers. If we want to convert a decimal-like string to a number in TypeScript, we can use parseFloat, just like normal Javascript:

let someString:string = "4245.1234"
let myNumber:number = parseFloat(someString);

// Returns 4246.1234
console.log(myNumber + 1);
Enter fullscreen mode Exit fullscreen mode

Number function

We can also use the Number function to convert number-like strings into numbers. This will work with both integers and decimals:

let someString:string = "4245"
let myNumber:number = Number(someString);

// Returns 4246.1234
console.log(myNumber + 1);
Enter fullscreen mode Exit fullscreen mode
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .