Som nováčikom v programovaní pre Android a JavaProsím, odpusť mi, ak je to ľahká otázka. Môj problém je pridať% na koniec desatinnej hodnoty. Dostanem dvojnásobnú hodnotu a neviem, koľko číslic za desatinnou čiarkou musím previesť na dve číslice za desatinnou čiarkou a nakoniec musím pridať% na poslednú pozíciu. Problém je, že dvojitú hodnotu naformátujem iba raz. Skúsil som ako tento DecimalFormat ("#. ##%"), ale desatinné body sa posunuli o dve číslice vpred. Pomôžte mi dostať sa z tohto problému.
Pomocou DecimalFormat ("#. ##%"),
Skutočne: 34,142545
Výstup: 3414,25%
odpovede:
1 pre odpoveď č. 1Ak používate %
vo formáte to znamená, že chcete previesť hodnotu na percento, ale musíte si túto hodnotu pamätať 1
v percentách sveta sa rovná 100%
hodnota, ktorú použijete, sa preto automaticky vynásobí 100. Aby ste sa tomuto správaniu vyhli, môžete zmeniť %
do doslovného citovania s apostrofami "%"
new DecimalFormat("#.##"%"");
1 pre odpoveď č. 2
Pridaním% vo formáte vynásobíte 100 a pridáte znak%. Preto to vyzerá, že sa pohybuje desatinná čiarka.
Môžete použiť niečo ako:
String output = new DecimalFormat("#.##").format(input) + "%";
Alternatívou je pred formátovaním deliť 100:
String output = new DecimalFormat("#.##%").format(input / 100.0);