How to Round Up a Number in JavaScript

How to round up a number in Javascript?

/**
* @param num The number to round
* @param precision The number of decimal places to preserve
*/
function roundUp(num, precision) {
precision = Math.pow(10, precision)
return Math.ceil(num * precision) / precision
}

roundUp(192.168, 1) //=> 192.2

How to round to at most 2 decimal places, if necessary

Use Math.round() :

Math.round(num * 100) / 100

Or to be more specific and to ensure things like 1.005 round correctly, use Number.EPSILON :

Math.round((num + Number.EPSILON) * 100) / 100

How to round up number to nearest 100/1000 depending on number, in JavaScript?

You could take the logarithm of ten and round up the value for getting the value.

function roundup(v) {    return Math.pow(10, Math.ceil(Math.log10(v)));}
console.log(roundup(87)); // 100console.log(roundup(776)); // 1000console.log(roundup(2333)); // 10000

Javascript always round up to X decimal places

You could use a factor for multiplication with ten and the power of the wanted decimal count and then round it and adjust the dot.

function up(v, n) {    return Math.ceil(v * Math.pow(10, n)) / Math.pow(10, n);}
console.log(up(13.4178, 0));console.log(up(13.4178, 1));console.log(up(13.4178, 2));

How to round an integer up or down to the nearest 10 using Javascript

Divide the number by 10, round the result and multiply it with 10 again, for example:

  1. 33 / 10 = 3.3
  2. 3.3 rounded = 3
  3. 3 × 10 = 30

console.log(Math.round(prompt('Enter a number', 33) / 10) * 10);

Formatting a number with exactly two decimals in JavaScript

To format a number using fixed-point notation, you can simply use the toFixed method:

(10.8).toFixed(2); // "10.80"

var num = 2.4;
alert(num.toFixed(2)); // "2.40"

Note that toFixed() returns a string.

IMPORTANT: Note that toFixed does not round 90% of the time, it will return the rounded value, but for many cases, it doesn't work.

For instance:

2.005.toFixed(2) === "2.00"

UPDATE:

Nowadays, you can use the Intl.NumberFormat constructor. It's part of the ECMAScript Internationalization API Specification (ECMA402). It has pretty good browser support, including even IE11, and it is fully supported in Node.js.

const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
});

console.log(formatter.format(2.005)); // "2.01"
console.log(formatter.format(1.345)); // "1.35"

Round number to nearest thousand, up or down depending on the number

This will do what you want:

Math.round(value/1000)*1000

examples:

Math.round(1001/1000)*1000
1000
Math.round(1004/1000)*1000
1000
Math.round(1500/1000)*1000
2000

How to roundup to numbers to 500

The usual thing to do is divide by the multiple (500 in your case), round the result, and then multiply by the multiple:

const values = [12263, 12789];
for (const value of values) {
const result = Math.round(value / 500) * 500;
console.log(`${value} => ${result}`);
}


Related Topics



Leave a reply



Submit