2014-10-18 1 views
-1

Я знаю, что вы добавляете L в значение, если оно превышает объем целого числа, но вам все равно придется печатать его как таковой. Я понимаю концепцию этого, когда вы просто распечатываете простой номер.В Java, как вы печатаете anwer в другом литерале?

Как насчет того, когда вы используете определенную переменную instad?

Скажите, что у меня есть что-то подобное.

double a = 2.5; 
System.out.println(a); 

Я хочу, чтобы «а» печаталось как целое число.

Спасибо за любые ответы заранее :)

+1

Если вы хотите распечатать его как целое число, оно будет округлено до ближайшего целого числа. –

ответ

1

Вы можете использовать Math.round, например.

System.out.println(Math.round(a)); 

или вы можете формат как целое число следующим образом:

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

литой двойной а к Double и использовать a.intValue()

Double a = new Double("2.5"); 
System.out.println(a.intValue()); 
+0

Хм все эти методы, похоже, работают, книга, которую я использовал, почему-то не упоминала ни одного из них. Я предполагаю, что ожидал, что я спрошу об этом при переполнении стека. Привет, ребята. – Snupas

0

Вы можете использовать NumberFormat. Существуют предопределенные форматы, которые вы можете использовать для своего конкретного случая использования.

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

Но это также позволяет создать один для более сложного вывода, например, с заданным количеством десятичных знаков. Это было бы намного сложнее с использованием Math.round или других предложений, сделанных здесь.

 Смежные вопросы

  • Нет связанных вопросов^_^