在JavaScript中,将数字四舍五入为小数点后N位的典型方式如下所示: function round_number(num, dec) { return Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec); } 然而,这种方法将四舍五入到最多 N个小数位,而我总是四舍五入到N个小数位。 例如“2.0”会被舍入为“2”。 有任何想法吗?
我需要一个简单的浮点舍入函数,因此: double round(double); round(0.1) = 0 round(-0.1) = 0 round(-0.9) = -1 我可以在math.h中findceil()和floor() ,但不是round() 。 它以另一个名字出现在标准的C ++库中,还是缺less?
我想要a四舍五入到13.95 。 >>> a 13.949999999999999 >>> round(a, 2) 13.949999999999999 round函数不能按照我的预期工作。
如果值是200.3456 ,则应格式化为200.34 。 如果是200 ,那应该是200.00 。
我想最多舍入两位小数,但只有在必要的时候 。 input: 10 1.7777777 9.1 输出: 10 1.78 9.1 我怎样才能在JavaScript中做到这一点?
我有这个代码行,我的数字四位小数。 但是我得到这样的数字:10.8,2.4等。这些不是我的两位小数的想法,所以我怎么能改善以下? Math.round(price*Math.pow(10,2))/Math.pow(10,2); 我需要像10.80,2.40等数字。使用jQuery对我来说没问题。
我想要的是一个方法来将double转换为使用half-up方法进行舍入的string,即,如果小数点要舍入为5,则它总是舍入到前一个数字。 这是大多数人在大多数情况下所期望的四舍五入的标准方法。 我也只想显示有效数字 – 即不应该有任何尾随零。 我知道一个这样做的方法是使用String.format方法: String.format("%.5g%n", 0.912385); 收益: 0.91239 这是很好的,但是它总是显示5位小数的数字,即使它们不显着: String.format("%.5g%n", 0.912300); 收益: 0.91230 另一种方法是使用DecimalFormatter : DecimalFormat df = new DecimalFormat("#.#####"); df.format(0.912385); 收益: 0.91238 但是,正如你所看到的,这使用半双舍入。 如果前面的数字是偶数的话,那就是下降了。 我想要的是这样的: 0.912385 -> 0.91239 0.912300 -> 0.9123 在Java中实现这个最好的方法是什么?