Questions tagged «rounding»

四舍五入一个数字值意味着用另一个近似相等但具有更短,更简单或更明确表示形式的值替换它。



30
如何在Java中将数字四舍五入到小数点后n位
我想要的是一种使用double-up方法将双精度型转换为四舍五入的字符串的方法-即,如果要四舍五入的小数是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实现此目标的最佳方法是什么?
1258 java  decimal  rounding  digits 




5
为什么Math.round(0.49999999999999994)返回1?
在下面的程序中,您可以看到.5除以外的每个值都略小于四舍五入0.5。 for (int i = 10; i >= 0; i--) { long l = Double.doubleToLongBits(i + 0.5); double x; do { x = Double.longBitsToDouble(l); System.out.println(x + " rounded is " + Math.round(x)); l--; } while (Math.round(x) > i); } 版画 10.5 rounded is 11 10.499999999999998 rounded is 10 9.5 rounded …

24
如何在Python中四舍五入一个数字?
这个问题使我丧命。如何在Python中向上舍入一个数字? 我尝试了舍入(数字),但它四舍五入数字。例: round(2.3) = 2.0 and not 3, what I would like 我尝试了int(number + .5),但是它再次将数字取整!例: int(2.3 + .5) = 2 然后我尝试了round(number + .5),但在边缘情况下不起作用。例: WAIT! THIS WORKED! 请指教。




17
如何在javascript中舍入浮点数?
我需要一轮例如6.688689到6.7,但它总是显示我7。 我的方法: Math.round(6.688689); //or Math.round(6.688689, 1); //or Math.round(6.688689, 2); 但是结果总是一样的7……我在做什么错?

5
.NET为什么默认使用银行家四舍五入?
根据文档,该decimal.Round方法使用了舍入舍入算法,这在大多数应用程序中并不常见。因此,我总是最终编写一个自定义函数来执行更自然的舍入算法: public static decimal RoundHalfUp(this decimal d, int decimals) { if (decimals < 0) { throw new ArgumentException("The decimals must be non-negative", "decimals"); } decimal multiplier = (decimal)Math.Pow(10, decimals); decimal number = d * multiplier; if (decimal.Truncate(number) < number) { number += 0.5m; } return decimal.Round(number) / multiplier; } 有人知道这个框架设计决定背后的原因吗? …
271 .net  rounding 

12
格式化R中的小数位数
我有一个数字,例如1.128347132904321674821,在输出到屏幕(或写入文件)时,我只想显示两位小数。如何做到这一点? x <- 1.128347132904321674821 编辑: 指某东西的用途: options(digits=2) 已被建议为可能的答案。有没有一种方法可以在脚本中指定一次以供使用?当我将其添加到脚本中时,它似乎并没有做任何不同的事情,并且我对重新格式化每个数字的格式不感兴趣(我正在自动处理一个非常大的报告)。 -- 答案:舍入(x,数字= 2)
264 r  formatting  rounding  r-faq 

7
在C#中将小数点后两位加倍?
我想在C#中将小数值四舍五入到两位小数,该怎么办? double inputValue = 48.485; 四舍五入后 inputValue = 48.49; 相关:c#-如何将十进制值四舍五入到小数点后两位(用于在页面上输出)
258 c#  double  rounding 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.