Софтуерно Инженерство
Loading...
+ Нов въпрос
MartinBG avatar MartinBG 763 Точки

Най-гъвкавият начин е чрез DecimalFormat.

2
todor0912 avatar todor0912 35 Точки

Трябва да напишеш %.0f  в System.out.printf  и ще стане , това означава след запетаята да няма нито 1 число ако искаш да закръглиш примерно до второто число пишеш 2f след запетаята .  

0
Angel_Kalinkov avatar Angel_Kalinkov 111 Точки
System.out.printf("%.0f", x);

или

System.out.println((int) x);
0
kostanikolov avatar kostanikolov 22 Точки

Хора, проблемът ми е, че не искам да го форматирам до конкретна цифра след десетичната запетайка, ами този, че когато резултатът ми е цяло число, то само си слага .0 отзад. Аз искам да е double и само, когато е нужно, тогава да добавя.

0
KeepCoding avatar KeepCoding 279 Точки

Колегата MartinBG ти е отговорил. Чрез DecimalFormat се прави. Пробвай го този код да видиш, че работи.

DecimalFormat df = new DecimalFormat("#.##########");
double number = 20.0;
System.out.println(number);
System.out.println(df.format(number)); //df.format(number) e String

Можеш да си слагаш колкото си искаш "#"-ове след "#." но ако броят им е по-малък от броят на цифрите след десетичната запетая, ще стане неточно закръгляне. 

1
kostanikolov avatar kostanikolov 22 Точки

Благодаря, колега! Извинявам се и на MartinBG, че малко го игнорирах. Погледнах линка, но ми се стори, че няма да ми помогне. Глупаво решение от моя странаlaugh

0