Cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Limit decimal number precision

ANSWERED

Hello, I would like to limit a decimal number, with a number of decimal digits preset by me (2 would be fine), there is a funcion to do this?  

Best Answer
0 Votes
1 BEST ANSWER

Accepted Solutions
6 REPLIES 6
Best Answer
0 Votes

keep giving me Nan as the value of the label... How could I fix it?

Best Answer
0 Votes

var bar = new Barometer();
bar.onreading = () => {
txtpressure.text = Math.round(bar.pressure / 100);
}
bar.start();

appoggio = (txtpressure/1013).toFixed(2);
console.log(appoggio);

 

It's appoggio that has a problem...

Best Answer
0 Votes

I'm guessing that txtpressure isn't a number, but is a <text> object.

Peter McLennan
Gondwana Software
Best Answer
0 Votes

thank you very much @Gondwana, sorry fot the disturb.

Best Answer

It seems like Math.round() is a better solution, but it is not! In some cases it will NOT round correctly. Also, toFixed() will NOT round correctly in some cases.

 

To correct the rounding problem with the previous Math.round() and toFixed(), you can define a custom JavaScript round function that performs a "nearly equal" test to determine whether a fractional value is sufficiently close to a midpoint value to be subject to midpoint rounding. The following function return the value of the given number rounded to the nearest integer accurately.

 

Number.prototype.roundTo = function(decimal) {
return +(Math.round(this + "e+" + decimal) + "e-" + decimal);
}

var num = 9.7654;
console.log( num.roundTo(2)); //output 9.77

 

Best Answer
0 Votes