最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Remove numbers after decimal in javascript - Stack Overflow

programmeradmin0浏览0评论
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?

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?

Share Improve this question asked Dec 31, 2016 at 4:39 MattMatt 1731 silver badge14 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 5

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.

发布评论

评论列表(0)

  1. 暂无评论