Search code examples
javascriptstringnumbers

JavaScript string and number conversion


How can I do the following in JavaScript?

  1. Concatenate "1", "2", "3" into "123"

  2. Convert "123" into 123

  3. Add 123 + 100 = 223

  4. Covert 223 into "223"


Solution

  • You want to become familiar with parseInt() and toString().

    And useful in your toolkit will be to look at a variable to find out what type it is—typeof:

    <script type="text/javascript">
        /**
         * print out the value and the type of the variable passed in
         */
    
        function printWithType(val) {
            document.write('<pre>');
            document.write(val);
            document.write(' ');
            document.writeln(typeof val);
            document.write('</pre>');
        }
    
        var a = "1", b = "2", c = "3", result;
    
        // Step (1) Concatenate "1", "2", "3" into "123"
        // - concatenation operator is just "+", as long
        //   as all the items are strings, this works
        result = a + b + c;
        printWithType(result); //123 string
    
        // - If they were not strings you could do
        result = a.toString() + b.toString() + c.toString();
        printWithType(result); // 123 string
    
        // Step (2) Convert "123" into 123
        result = parseInt(result,10);
        printWithType(result); // 123 number
    
        // Step (3) Add 123 + 100 = 223
        result = result + 100;
        printWithType(result); // 223 number
    
        // Step (4) Convert 223 into "223"
        result = result.toString(); //
        printWithType(result); // 223 string
    
        // If you concatenate a number with a 
        // blank string, you get a string    
        result = result + "";
        printWithType(result); //223 string
    </script>