2016-01-13 2 views
0

Я могу объяснить это на примере.Математические операции с целыми или с плавающей запятой

Рассмотрит значение с плавающей точкой, как 2,0, 3,0 и т.д. выход должен число т.е. 2, 3 и т.д.

Если значения с плавающей точкой, как 2,1, 3,5 и т.д. выхода остается тем же, то есть 2.1, 3.5

Есть ли математическая операция над значениями с плавающей запятой?

+0

Вы хотите операцию, которая преобразует некоторые поплавки в целые числа и другие поплавки поплавков? Подписи методов Java не могут меняться только по их возвращаемым типам, поэтому это не представляется возможным. – sisyphus

+0

Вы говорите о том, как вы хотите отформатировать число в виде строки. Это не математическая функция, как 2.0 == 2, поэтому математически нет изменений. –

ответ

2

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

if (number % (int) number == 0) 
    System.out.println((int) number); // you know it has no decimal places 
else 
    System.out.println(number); // it has decimal places and you want to print them 

link обеспечивается Seffy Голан предлагает еще лучшее решение, просто сравнивая

if (number == (long) number) { ... } 

Я думал, что взять его в мой ответ, как это хороший подход, который я не знал, из.

2

Я думаю @LordAnomander ответ хорош, но немного дорого, попробуйте использовать:

if (number - (int) number == 0) 
System.out.println((int) number); // you know it has no decimal places 
else 
System.out.println(number); // it has decimal places and you want to print them 
Смежные вопросы