Diskuze: Uživatelem zadaný počet des. míst
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.


String s = String.valueOf(vysledek);
s = s.substring(0 , s.indexOf(".")) + s.substring(s.indexOf(".") , s.indexOf(".")+c+1);
Asi takto 
Samozrejme tam môže nastať výnimka tak to treba ošetriť blokom Try a Catch
alebo nejakou podmienkou 
Můžeš použít DecimalFormat. Když máš v 'c' počet destinných míst, která chceš zobrazit tak asi takhle:
DecimalFormat df = new DecimalFormat();
df.setMaximumFractionDigits(c);
tím máš vytvořenou instanci DecimalFormat, s nastaveným požadovaným maximem desetinných míst,kterým pak můžeš formátovat 'vysledek' takto:
System.out.println("Vysledek je: " + df.format(vysledek));
Tohle mi ne úplně korektně funguje 
mám tedy tento zdroják:
Scanner sc = new Scanner(System.in);
sc.useLocale(Locale.US);
System.out.println("Vyber operace (1-soucet, 2-rozdil, 3-soucin, 4-podil)" );
char operator = sc.nextLine().charAt(0);
DecimalFormat df = new DecimalFormat();
boolean error = false;
double vysledek = 0;
double b = 0;
double a = 0;
int c = 0;
switch (operator) {
case '1':
System.out.print("Zadej scitanec: ");
a = sc.nextDouble();
System.out.print("Zadej scitanec: ");
b = sc.nextDouble();
System.out.print("Zadej pocet desetinnych mist: ");
c = sc.nextInt();
vysledek = a + b;
df.setMaximumFractionDigits(c);
System.out.println("Vysledek je: " + df.format(vysledek));
break;
A výpis z konzole -
Vyber operace (1-soucet, 2-rozdil, 3-soucin, 4-podil)
1
Zadej scitanec: 2.0
Zadej scitanec: 5.11
Zadej pocet desetinnych mist: 0
Vysledek je: 7
= 7.11
Nějak nechápu, proč mi to poté ještě vyhodí "= 7.11"
Tak to záleží na tom, co tam potom ještě kde vypisuješ
Samo se to určitě nevypisuje 
Už jsem na to přišel 
Akorát jak bych to udělal, pokud bych opravdu chtěl při sečtení např.: 5 + 2 aby mi to vrátilo za desetinnou čárkou nuly (pokud by uživatel zadal, aby tam byl počet desetinných míst více jak 0, ale sčítal by celá čísla)
Zobrazeno 11 zpráv z 11.