Форматиране изход на Java
Здравейте колеги,
как да премахна десетичната част на цяло число, което е от тип double в Java?
Примерно при double x = 20; резултатът ми е 20.0 а не просто 20
Благодаря!
Здравейте колеги,
как да премахна десетичната част на цяло число, което е от тип double в Java?
Примерно при double x = 20; резултатът ми е 20.0 а не просто 20
Благодаря!
Най-гъвкавият начин е чрез DecimalFormat.
Трябва да напишеш %.0f в System.out.printf и ще стане , това означава след запетаята да няма нито 1 число ако искаш да закръглиш примерно до второто число пишеш 2f след запетаята .
System.out.printf("%.0f", x);
или
System.out.println((int) x);
Хора, проблемът ми е, че не искам да го форматирам до конкретна цифра след десетичната запетайка, ами този, че когато резултатът ми е цяло число, то само си слага .0 отзад. Аз искам да е double и само, когато е нужно, тогава да добавя.
Колегата 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
Можеш да си слагаш колкото си искаш "#"-ове след "#." но ако броят им е по-малък от броят на цифрите след десетичната запетая, ще стане неточно закръгляне.
Благодаря, колега! Извинявам се и на MartinBG, че малко го игнорирах. Погледнах линка, но ми се стори, че няма да ми помогне. Глупаво решение от моя страна