-2

It is not single line of code. How to round numbers in Javascript which are line of code? How to round it to 2 decimal points?

 if (aSelectedValue >= bSelectedValue) {
    document.getElementById("Answer").innerHTML = "0€";
    document.getElementById("Answer").innerHTML = "Debug3";
   } else if (bSelectedValue <= 1600) { 

     document.getElementById("Answer").innerHTML = (+bSelectedValue - +aSelectedValue) * 0.075 + "€";
     
   } else if (bSelectedValue <= 1900 && bSelectedValue >=1600 && aSelectedValue < 1900 && aSelectedValue >= 1600) {
    
     document.getElementById("Answer").innerHTML = (+bSelectedValue - +aSelectedValue) * 0.15 + "€";
    
   } else if (bSelectedValue <= 2500 && bSelectedValue >=1900 && aSelectedValue <= 2500 && aSelectedValue >= 1900) {
   
     document.getElementById("Answer").innerHTML = (+bSelectedValue - +aSelectedValue) * 0.5 + "€";
     
   } else if (aSelectedValue >= 1300 && aSelectedValue <= 1600 && bSelectedValue <= 1900) {
    
     document.getElementById("Answer").innerHTML = (1600 - +aSelectedValue) * 0.075 + (+bSelectedValue - 1600) * 0.15 + "€";
     
   } else if (aSelectedValue > 1600 && aSelectedValue <= 1900 && bSelectedValue <= 2500) {
     
     document.getElementById("Answer").innerHTML = (1900 - +aSelectedValue) * 0.15 + (+bSelectedValue - 1900) * 0.5 + "€";
     
   } else if (bSelectedValue <= 2500) {
    
    document.getElementById("Answer").innerHTML = (1600 - +aSelectedValue) * 0.075 + (+bSelectedValue - 1900) * 0.5 + 45 + "€";
    
   }

   

Here is full

  • Possible duplicate of [Round to at most 2 decimal places in JavaScript](http://stackoverflow.com/questions/11832914/round-to-at-most-2-decimal-places-in-javascript) – Matthew Spence Feb 15 '16 at 17:39

1 Answers1

0

Perhaps this?

var number = (1600 - +aSelectedValue) * 0.075 + (+bSelectedValue - 1600) * 0.15;
number = +number.toFixed(2);
document.getElementById("Answer").innerHTML = number + "€";

Or perhaps use a function like so:

function roundNum(number,amount){//amount is the rounding value, in this case, 2
    return +number.toFixed(amount);
}
roundNum(yournumber,2);

This allows you to round each line of code. Note: although you could simply use toFixed() it can cause issues with numbers rounding incorrectly, so there's the little fix of adding +.

Matthew Spence
  • 986
  • 2
  • 9
  • 27