在Java中,如何以不同的文字打印答案?

在Java中,如何以不同的文字打印答案?,java,integer,double,literals,Java,Integer,Double,Literals,我知道,如果一个值超过整数的范围,你就给它加上一个L,但你还是要把它打印出来。当你只是打印一个简单的数字时,我理解这样做的概念 当您使用已定义的变量instad时,会发生什么情况 比如说我有类似的东西 double a = 2.5; System.out.println(a); 我想把“a”打印成整数 感谢您提前给出答案:)例如,您可以使用Math.round System.out.println(Math.round(a)); 也可以将其格式化为整数,如下所示: System.out.pr

我知道,如果一个值超过整数的范围,你就给它加上一个L,但你还是要把它打印出来。当你只是打印一个简单的数字时,我理解这样做的概念

当您使用已定义的变量instad时,会发生什么情况

比如说我有类似的东西

double a = 2.5;
System.out.println(a);
我想把“a”打印成整数


感谢您提前给出答案:)

例如,您可以使用
Math.round

System.out.println(Math.round(a));
也可以将其格式化为整数,如下所示:

System.out.printf("%.0f%n", a);

将双a转换为
double
并使用
a.intValue()


您可以使用
NumberFormat
。有一些预定义的格式可供您的特定用例使用

NumberFormat format = NumberFormat.getIntegerInstance();
double a = 2.5;
System.out.println( format.format( a ) );

但它也允许为更困难的输出创建一个,比如指定小数数。使用
Math.round
或此处提出的其他建议会困难得多。

如果将其打印为整数,则会将其四舍五入到最接近的整数。嗯,所有这些方法似乎都有效,我使用的书出于某种原因没有提到任何一种方法。我猜它期望我在堆栈溢出时问这个问题。干杯,伙计们。
NumberFormat format = NumberFormat.getIntegerInstance();
double a = 2.5;
System.out.println( format.format( a ) );