Java中的整数

Java中的整数,java,numbers,floating,Java,Numbers,Floating,如何在Java中对数字进行四舍五入?比如,我有这个数字3.46663,我想把它四舍五入到最接近的浮点数,也就是3.5。我不想把它四舍五入到4,你为什么不把它乘以10,四舍五入,然后除以10。你有一些选择,你可以使用一个,或者一个大十进制,甚至是一个字符串。format(),比如 double v = 3.4666666666663; NumberFormat nf = new DecimalFormat("#.0"); System.out.println(nf.format(v)); Math

如何在Java中对数字进行四舍五入?比如,我有这个数字
3.46663
,我想把它四舍五入到最接近的浮点数,也就是3.5。我不想把它四舍五入到4,你为什么不把它乘以10,四舍五入,然后除以10。你有一些选择,你可以使用一个,或者一个大十进制,甚至是一个字符串。format(),比如

double v = 3.4666666666663;
NumberFormat nf = new DecimalFormat("#.0");
System.out.println(nf.format(v));
MathContext mc = new MathContext(2);
System.out.println(BigDecimal.valueOf(v).round(mc));
System.out.printf("%.1f%n", v);
输出为

3.5
3.5
3.5

当你说“这个数字”时,它是以什么开头的?A
浮动
?A
double
?A
BigDecimal
?我相信你对最近浮点数的定义并没有被普遍接受。@Keppil基本上我想把数字四舍五入到下一个浮点数,在后面加一个数字,例如'2.444424'到'2.5','5.66764'到'5.7',你还没有回答我的问题;这对你的答案有很大的影响seek@fge它是一个
double
double a=(n1*4)-60;双b=(a*-1)/6;cp_nota2.setText(b+)