How does Integer.parseInt(string) actually work?

Viewed 63851

Was asked this question recently and did not know the answer. From a high level can someone explain how Java takes a character / String and convert it into an int.

8 Answers

this is my simple implementation of parse int

public static int parseInteger(String stringNumber) {
    int sum=0;
    int position=1;
    for (int i = stringNumber.length()-1; i >= 0 ; i--) {
       int number=stringNumber.charAt(i) - '0';
       sum+=number*position;
       position=position*10;

    }
    return sum;
}

Here is what I came up with (Note: No checks are done for alphabets)

int convertStringtoInt(String number){

    int total =0;
    double multiplier = Math.pow(10, number.length()-1);
        for(int i=0;i<number.length();i++){

            total = total + (int)multiplier*((int)number.charAt(i) -48);
            multiplier/=10;

        }

        return total;
    }

Here is my new approach which is not in a math way.

let n = 12.277;
// converting  to string
n = n.toString();

let int = "";

for (let i = 0; i < n.length; i++) {

    if (n[i] != ".") {
        int += n[i];
    } else {
        break;
    }
}

console.log(Number(int));

Related