我不知道如何将数字舍入到某些小数位 我看着到处尝试过每一件事
目前我有我的程序用它来整数
double rACT = Math.ceil(ACT);
double rSAT = Math.ceil(SAT);
double rGPA = Math.ceil(GPA);
但我需要将它舍入到2位小数
仅供参考 - 我是一名高中生,我真的不需要一些非常复杂的东西 要做到这一点因为我需要我的方法少于15我可以浪费任何行
答案 0 :(得分:9)
可能有一种更简单的方法,但显而易见的是:
double rSAT = Math.ceil(SAT * 100) / 100;
这将2.123之类的数字转换为212.3,将其舍入为213,然后将其分为2.13。
答案 1 :(得分:2)
通常,舍入最好在呈现数字(例如String)时完成。这样,数字可以以最高精度存储/传递,并且只有在向用户显示时才会截断信息。
此代码最多舍入到两位小数,并使用上限。
double unrounded = 3.21235;
NumberFormat fmt = NumberFormat.getNumberInstance();
fmt.setMaximumFractionDigits(2);
fmt.setRoundingMode(RoundingMode.CEILING);
String value = fmt.format(unrounded);
System.out.println(value);
答案 2 :(得分:0)
之前已经提出过这个问题,请查看How to round a number to n decimal places in Java
在我看来,最简单的解决方案就是克里斯:
double myNum = .912385;
int precision = 10000; //keep 4 digits
myNum= Math.floor(myNum * precision +.5)/precision;
答案 3 :(得分:0)
如果您正在寻找数字的字符串表示,您可以执行以下操作:
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(12.912385));