Ho un certo numero BigDecimal e mi considero solo 2 decimali di esso in modo che io troncano utilizzando:formato un BigDecimal as String con max 2 cifre decimali, la rimozione di 0 sulla parte decimale
bd = bd.setScale(2, BigDecimal.ROUND_DOWN)
Ora voglio stamparlo come stringa, ma rimuovendo la parte decimale se è 0, ad esempio:
1.00 -> 1
1.50 -> 1.5
1.99 -> 1.99
Ho provato a utilizzare un formattatore, formatter.format ma ottengo sempre le 2 cifre decimali.
Come posso fare questo? Magari lavorando sulla stringa da bd.toPlainString()?
Qual è l'uscita prevista per questo programma. Ho ottenuto gli stessi requisiti per gli zeri finali dopo il punto decimale, ma gli zero finali erano pari a **. 00 ** troncando in uscita. –
@ParameshKorrakuti 'df.setMinimumFractionDigits (2)' funziona bene senza setScale e setGrouping e setMaxFrac. –
Il formato decimale è NumberFormat sotto mentite spoglie. Usa 'NumberFormat numberFormat = NumberFormat.getPercentInstance();' then 'numberFormat.setMinimumFractionDigits (2);' then 'String percent = numberFormat.format (yourBigDecimal);' –