作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以 :)
我有一些数字。我想根据 .
符号后的数字对它们进行舍入。问题是我不知道 .
.
我知道函数 toPrecision()
和 toFixed()
但它们必须传递参数。所以我必须知道我需要在小数点后得到多少符号,但我不知道。
我想达到什么目的?
+++++++++++++++++++++++++++++++++++
+ before + after +
+++++++++++++++++++++++++++++++++++
+ 0.0072512423324 + 0.0073 +
+ 0.032523 + 0.033 +
+ 0.000083423342 + 0.000083 +
+ 15.00042323 + 15.00042 +
+ 1.0342345 + 1.034 +
+++++++++++++++++++++++++++++++++++
我怎样才能做到这一点?
最佳答案
尝试使用这个:
function roundAfterZeros(number,places){
var matches=number.toString().match(/\.0*/);
if(!matches)return number.toString();
return number.toFixed(matches[0].length-1+places);
}
这里有解释
var matches = number.toString().match(/\.0*/)
检查点 (.
)。
if(!matches)return number.toFixed(places);
如果没有点(.
),一定是整数,所以我们直接return它(作为一致性的字符串)。
return number.toFixed(matches[0].length-1+places);
如果是小数,我们会将其四舍五入到零后最接近的数字(0
)。
然后像 roundAfterZeros(0.000083423342,2)
一样运行它:
0.000083423342 to "0.000083"
1.0342345 to "1.034"
1 to "1"
0.5 to "0.50"
-300 to "-300"
关于javascript - 四舍五入无理数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23095049/
我有一道数学题。我有一个无理数 BigDecimal,我想对其进行四舍五入,但是我想在它开始重复之后对其进行四舍五入(如果有意义的话)。例如,如果我有 0.7648951214714714714714
我是一名优秀的程序员,十分优秀!