繁体   English   中英

Java-如何将计算语句的结果四舍五入为两个有效数字

Java - how to round a calculation statement result to two significant figures

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

Java的新手,编程的新手。 下面的代码是已经完美运行的程序的最后几行-我只想舍入最终结果(newTuition变量)并将其限制为两个有效数字。

newTuition,TUITIONINCREASE和tuition均为双精度。

    newTuition = ((TUITIONINCREASE * .01) * tuition) + tuition + ".");
    System.out.println("Your current tuition is $" + tuition + ". It will rise next year by " + TUITIONINCREASE + "% and " +
    "your new tuition will be $" + newTuition);
2 个回复

评论者是正确的。 请勿为此使用浮点数。 您需要的是BigDecimal类。 这将在数​​学运算期间为您保留精度,并包含用于舍入和截断的方法。

http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html

使用BigDecimal.Round: http ://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html#round( java.math.MathContext

像这样:

BigDecimal rounded = value.round(new MathContext(2, RoundingMode.HALF_UP));
System.out.println(value + ": " + rounded);
1 如何在Java中将数字四舍五入到6位有效数字?

所以我有这个代码 所以我在这里找到一个例子,告诉我这样做 那就是我尝试过的,它绕着米数四舍五入,但是英寸,英尺,码等数字却没有四舍五入。 我做错了吗? 解决这个问题的正确方法是什么? 编辑 :好的,所以我发现了一些可以解决的问题,以防其他人使用它而不是使用它: ...

4 python 中的有效数字舍入

我想像这样四舍五入 42949672 -> 42949700、2147483647 -> 2147480000、4252017622 -> 4252020000 等。 我尝试使用以下,但仅适用于第一个。 如何制作更通用的? 谢谢 ...

7 将双精度数舍入到 x 有效数字

如果我有一个双精度数(234.004223)等,我想将它四舍五入到 C# 中的 x 个有效数字。 到目前为止,我只能找到四舍五入到 x 位小数的方法,但是如果数字中有任何 0,这只会删除精度。 例如,0.086 到小数点后一位变成 0.1,但我希望它保持在 0.08。 ...

8 如何使用 Excel VBA 四舍五入到一定数量的有效数字?

编辑:这部分解决了! 所以我在一个我正在做的程序中有一堆计算,而且数字变得太长了,以至于我得到了溢出错误。 它是由一个 50 位数字除以另一个 50 位数字之类的结果产生的。 我需要一种将特定数字四舍五入到一定数量的有效数字的方法。 这里有更多信息。 首先,我将四舍五入的所有数字都将始终小于 1 ...

10 计算重要数字java

我正在尝试制作一个计算重要数字的程序,我差不多完成了最后一件事,我完全陷入困境,我无法弄清楚如何计算非零数字之间的零点是我的代码: ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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