JBerm

06-02-2009, 12:45 AM

Hello I am new to using Javascript and have been trying to incorporate this equation into my if statement but cannot get it to calculate properly no matter which method I use. Here is the function as I have it worked out presently.

function Points()

{

Rating = document.Arena.Rating.value;

{

if (Rating <= 1500){

returnValue = Math.round((0.22 * Rating + 14) * 0.76)

};

else {

returnValue = Math.round(1511.26 / (1 + 1639.28 * 2.71828 ^ (-0.00412 * Rating)) * 0.76)

};

document.Arena.Points2.value = returnValue

}

{

if (Rating <= 1500){

returnValue = Math.round((0.22 * Rating + 14) * 0.88)

};

else {

returnValue = Math.round(1511.26 / (1 + 1639.28 * 2.71828 ^ (-0.00412 * Rating)) * 0.88)

};

document.Arena.Points3.value = returnValue

}

{

if (Rating <= 1500){

returnValue = Math.round(0.22 * Rating + 14)

};

else {

returnValue = Math.round(1511.26 / (1 + 1639.28 * 2.71828 ^(-0.00412 * Rating))

};

document.Arena.Points5.value = returnValue

}

}

Now the problem I am having is in the else statement with the equation not executing correctly and giving a value of "0" since I am rounding. With the current equation and with a "Rating" of 1600 the "returnValue" should equal 465, but that is never the case. If I use Math.pow:

{

if (Rating <= 1500){

returnValue = Math.round(0.22 * Rating + 14)

};

else {

returnValue = Math.round(1511.26 / (Math.pow((1 + 1639.28 * 2.71828),(-0.00412 * Rating)))

};

document.Arena.Points5.value = returnValue

}

The result is 1.7133353971544615e+27 when again it should be 465. I know I'm missing something simple but with my lack of knowledge of javascript I'm just not seeing it.

Also I should note that this current project is a javascript conversion of my VB project I had made. Where the exponential value of (-0.00412 * Rating) is noted by the "^" and then executed as an exponential value. The result is the same in all of the else statements but for simplicity I singled out the last one as an example.

Thank You in advance for any help that can be given.

JB

function Points()

{

Rating = document.Arena.Rating.value;

{

if (Rating <= 1500){

returnValue = Math.round((0.22 * Rating + 14) * 0.76)

};

else {

returnValue = Math.round(1511.26 / (1 + 1639.28 * 2.71828 ^ (-0.00412 * Rating)) * 0.76)

};

document.Arena.Points2.value = returnValue

}

{

if (Rating <= 1500){

returnValue = Math.round((0.22 * Rating + 14) * 0.88)

};

else {

returnValue = Math.round(1511.26 / (1 + 1639.28 * 2.71828 ^ (-0.00412 * Rating)) * 0.88)

};

document.Arena.Points3.value = returnValue

}

{

if (Rating <= 1500){

returnValue = Math.round(0.22 * Rating + 14)

};

else {

returnValue = Math.round(1511.26 / (1 + 1639.28 * 2.71828 ^(-0.00412 * Rating))

};

document.Arena.Points5.value = returnValue

}

}

Now the problem I am having is in the else statement with the equation not executing correctly and giving a value of "0" since I am rounding. With the current equation and with a "Rating" of 1600 the "returnValue" should equal 465, but that is never the case. If I use Math.pow:

{

if (Rating <= 1500){

returnValue = Math.round(0.22 * Rating + 14)

};

else {

returnValue = Math.round(1511.26 / (Math.pow((1 + 1639.28 * 2.71828),(-0.00412 * Rating)))

};

document.Arena.Points5.value = returnValue

}

The result is 1.7133353971544615e+27 when again it should be 465. I know I'm missing something simple but with my lack of knowledge of javascript I'm just not seeing it.

Also I should note that this current project is a javascript conversion of my VB project I had made. Where the exponential value of (-0.00412 * Rating) is noted by the "^" and then executed as an exponential value. The result is the same in all of the else statements but for simplicity I singled out the last one as an example.

Thank You in advance for any help that can be given.

JB