 How to Round Doubles/Floats in JavaScript

# How to Round Doubles/Floats in JavaScript ### Introduction

Floats and doubles represent floating-point numbers - numbers with decimal points. While this type is very useful for a wide variety of environments, depending on what they're used for, we sometimes want to round them to a whole number - closest whole integer, up or down.

In this article, we will explore how to round double/float numbers (including strings) in JavaScript using built-in methods of the Math object.

#### The Math Object

The Math object is used to conduct commonplace mathematical operations. Because the Math object is a static built-in object, you can't and won't need to initialize it - it can be invoked at any point as a static object with helper methods. It has a plethora of constants and techniques for doing mathematical operations, all of which may be accessed directly.

Let's look at some of the Math object's handy methods for rounding doubles/floats in JavaScript!

##### Math.round()

Math.round() is a function used to return the value of a floating-point number rounded to the nearest whole integer. Depending on the supplied float/double, Math.round() either rounds up or down.

If the floating-point number is above or equal to x.5 - it's rounded up to the nearest integer. If the floating-point number is below x.5, it's rounded down to the nearest integer:

Math.round(24.49); // 24
Math.round('29.5'); // 30
Math.round(72); // 72
Math.round(-40.51); // -41

##### Math.floor()

The Math.floor() method is used to return the nearest whole integer that is less than or equal to a specified value. In layman's terms, the floor() method rounds a number down and returns an integer result:

Math.floor(75.95); //  75
Math.floor(75.05); //  75
Math.floor(4); //   4
Math.floor('-65.05'); // -66
Math.floor(-65.95); // -66 Note: Math.floor(null) returns 0, not a NaN error.

##### Math.ceil()

The Math.ceil() method rounds a number up to the nearest greatest integer. Simply said, it is used to round up a number and return an integer value:

Math.ceil(0.95);    // 1
Math.ceil(7);      // 7
Math.ceil('9.008');  // 10
Math.ceil(-0.95);  // -0
Math.ceil(-7);     // -7
Math.ceil(-9.008); // -10 Note: Math.ceil(null) returns integer 0 and does not give a NaN error.

##### Math.trunc()

While truncating isn't rounding - it's worth mentioning the Math.trunc() method. It returns the whole integer of the number, by truncating (cutting off) the floating-point precision, regardless of whether the argument is positive or negative:

Math.trunc(38.37);    // 38
Math.trunc(72.84);    // 72
Math.trunc(0.123);    //  0
Math.trunc(-0.13323);   // -0
Math.trunc('-1.18923'); // -1
Math.trunc(NaN);      // NaN
Math.trunc('john');    // NaN
Math.trunc();         // NaN


### Conclusion

In this short article, we've taken a look at how to round doubles/floats in JavaScript, with the help of Math.round(), Math.floor(), Math.ceil() and Math.trunc().

Last Updated: February 22nd, 2022

Get tutorials, guides, and dev jobs in your inbox.

Joel OlawanleAuthor

Frontend Developer & Technical Writer Project

### React State Management with Redux and Redux-Toolkit

# javascript# React

Coordinating state and keeping components in sync can be tricky. If components rely on the same data but do not communicate with each other when...  Details

## Getting Started with AWS in Node.js

Build the foundation you'll need to provision, deploy, and run Node.js applications in the AWS cloud. Learn Lambda, EC2, S3, SQS, and more!