简体   繁体   中英

Remove numbers after decimal in javascript

var randomNumber = (Math.random()*3 + 3.5); randomNumber;

alert(randomNumber)

This piece of code returns a number like

4.589729345235789

I need it to return

4.5

So need it to remove all the numbers after the decimal except the first one, can anyone show me how to do that?

You use Number.prototype.toPrecision() with parameter 2 , Number.prototype.toFixed() with parameter 1 .

+randomNumber.toPrecision(2);

Alternatively, you can use String.prototype.slice() with parameters 0 , 3

+String(randomNumber).slice(0, 3);

If you need to set the amount of decimal places in a number, you can use toFixed(X) , where X is the amount of decimal places you want to have.

For example,

4.589729345235789.toFixed(1); would result in 4.6 .

Keep in mind, this will convert the number into a string.

If you need absolute accuracy and 4.6 is not good enough for you, see this Stackoverflow post , which has this as a more "accurate" method for your case:

var with2Decimals = num.toString().match(/^-?\\d+(?:\\.\\d{0,2})?/)[0]

Notice the {0,2} inside of that, which is the range. You can change it to {0,1} in your case.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM