Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Facebook Sign In with Google Sign In with OpenID

Categories

We have migrated to a new platform! Please note that you will need to reset your password to log in (your credentials are still in-tact though). Please contact lee@programmersheaven.com if you have questions.
Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

newb question, experts plz come in

wyz0020wyz0020 Posts: 120Member
My first attempt to add two variables and output the result ended in failure.
Example Code:
[code]
var num1 = prompt("Number 1","Enter");
var num2 = prompt("Number 2","Enter");

var num3 = num1 + num2;
alert("Number 3 is "+num3);
[/code]
When I entered (as an example) 10 for number 1, and 15 for number 2, 1015 was the result in the alert box.

The second attempt was a success, where I created a function to add the two numbers:
[code]
function AddValues(term1,term2)
{
var returnvalue = term1;

for(var i = 0; i < term2; i++)
{
returnvalue++;
}
return returnvalue;
}
[/code]
There may be stupid errors in my code but you get the idea. Now, in the first example, why does it output the numbers as compounded character arrays? Is it because every variable defaults to a char array? If so, how do I change this? I doubt something this basic requires workaround functions like in the second example. Thanks in advance.




Comments

  • zibadianzibadian Posts: 6,349Member
    : My first attempt to add two variables and output the result ended in failure.
    : Example Code:
    : [code]
    : var num1 = prompt("Number 1","Enter");
    : var num2 = prompt("Number 2","Enter");
    :
    : var num3 = num1 + num2;
    : alert("Number 3 is "+num3);
    : [/code]
    : When I entered (as an example) 10 for number 1, and 15 for number 2, 1015 was the result in the alert box.
    :
    : The second attempt was a success, where I created a function to add the two numbers:
    : [code]
    : function AddValues(term1,term2)
    : {
    : var returnvalue = term1;
    :
    : for(var i = 0; i < term2; i++)
    : {
    : returnvalue++;
    : }
    : return returnvalue;
    : }
    : [/code]
    : There may be stupid errors in my code but you get the idea. Now, in the first example, why does it output the numbers as compounded character arrays? Is it because every variable defaults to a char array? If so, how do I change this? I doubt something this basic requires workaround functions like in the second example. Thanks in advance.
    :
    :
    The Prompt() function always results in a string, which means that both num variables will also be type-cast as strings. You can force javascript to make them integers, by adding 0 to, when creating the variables:
    [code]
    var num1 = prompt("Number 1","Enter") + 0;
    [/code]
    This way the addition will follow the numerical rules.
  • wyz0020wyz0020 Posts: 120Member
    Thx for replying, but the method u said doesn't work. Is there any other type-cast methods?





    : : My first attempt to add two variables and output the result ended in failure.
    : : Example Code:
    : : [code]
    : : var num1 = prompt("Number 1","Enter");
    : : var num2 = prompt("Number 2","Enter");
    : :
    : : var num3 = num1 + num2;
    : : alert("Number 3 is "+num3);
    : : [/code]
    : : When I entered (as an example) 10 for number 1, and 15 for number 2, 1015 was the result in the alert box.
    : :
    : : The second attempt was a success, where I created a function to add the two numbers:
    : : [code]
    : : function AddValues(term1,term2)
    : : {
    : : var returnvalue = term1;
    : :
    : : for(var i = 0; i < term2; i++)
    : : {
    : : returnvalue++;
    : : }
    : : return returnvalue;
    : : }
    : : [/code]
    : : There may be stupid errors in my code but you get the idea. Now, in the first example, why does it output the numbers as compounded character arrays? Is it because every variable defaults to a char array? If so, how do I change this? I doubt something this basic requires workaround functions like in the second example. Thanks in advance.
    : :
    : :
    : The Prompt() function always results in a string, which means that both num variables will also be type-cast as strings. You can force javascript to make them integers, by adding 0 to, when creating the variables:
    : [code]
    : var num1 = prompt("Number 1","Enter") + 0;
    : [/code]
    : This way the addition will follow the numerical rules.
    :

  • WeirdofreakWeirdofreak Posts: 439Member
    Multiply by one. You can add to a string, so with + 0 it probably converts the 0 to a string instead of the string to a number, but since you can't multiply a string, it'll have to convert it to a number.

    There's also the parseInt() function. It'll convert a string to an integer by stripping off everything past the first non-numeric character - so 123hello45 would just give 123, and hello12345 would give NaN (Not a Number). And the string 123 would return the number 123.
Sign In or Register to comment.