Formato valuta in Java

Rashmi Patidar 12 ottobre 2023
  1. Converti la valuta usando le funzioni logiche in Java
  2. Converti valuta utilizzando la classe NumberFormat in Java
Formato valuta in Java

Di seguito sono riportati alcuni modi in cui possiamo convertire una valuta fino ai valori desiderati in Java.

Converti la valuta usando le funzioni logiche in Java

public class CurrencyConversion {
  public static void main(String[] args) {
    double currency_value = 10.9897;
    float epsilon = 0.004f;
    if (Math.abs(Math.round(currency_value) - currency_value) < epsilon) {
      System.out.printf("%10.0f", currency_value);
    } else {
      System.out.printf("%10.2f", currency_value);
    }
  }
}

Nel codice CurrencyConversion sopra, c’è una variabile currency_value, che contiene i valori di valuta in formato decimale. L’epsilon è un’altra variabile che ha un valore diverso. Il valore può essere qualsiasi numero float che esegue alcune operazioni logiche sulla sua differenza. Viene definita la logica dell’istruzione if che assume il valore assoluto della differenza tra il numero arrotondato e quello effettivo. Il valore assoluto viene confrontato con il valore epsilon. Il programma utilizza la funzione Math.abs() che converte la differenza effettiva del valore decimale a zero o maggiore di zero.

In base all’output dell’istruzione condizionale, viene stampato nel formato 10.0f o 10.2f. L’identificatore di formato a due dati dice, una parte integrale come 10, il che significa che l’intera stringa contiene dieci caratteri. E la parte frazionaria specifica il formato fino a 2 cifre decimali.

Nel registro della console sottostante, stampa un valore convertito assoluto fino a 2 cifre decimali.

10.99  //10.9897
10	   //10
10	   //10.0008

Nel primo caso, quando il valore della valuta è 10.9897, viene arrotondato a 10.99. Inoltre, quando il valore della valuta viene modificato in 10, l’output restituisce ancora 10, poiché nulla viene arrotondato nella valuta di input. E quando il valore della valuta viene modificato in 10.0008, l’importo viene arrotondato al valore 10.

Converti valuta utilizzando la classe NumberFormat in Java

import java.text.NumberFormat;

public class CurrencyConversion {
  public static void main(String[] args) {
    double money = 100.1;
    NumberFormat formatter = NumberFormat.getCurrencyInstance();
    String moneyString = formatter.format(money);
    System.out.println(moneyString);
  }
}

Il blocco di codice sopra utilizza la classe NumberFormat che chiama un metodo statico la funzione getCurrencyInstance. Il metodo restituisce il formato valuta del formato nelle impostazioni internazionali predefinite. Richiede anche un valore locale per specificare una regione. E le istanze di valuta possono essere nel formato Rupie Dollaro in base all’area o alla regione definita. Ora l’istanza del formattatore viene utilizzata per chiamare un metodo di formattazione. Il metodo format accetta un parametro double money e restituisce un valore String. La funzione può generare ArithmeticException quando l’arrotondamento avviene in modo improprio.

Il codice precedente crea il seguente output.

Rs.100.10

Ma può essere diverso quando il valore della locale è diverso. L’output può essere quando il valore locale è Locale.CHINA. Oppure restituisce $ quando la Locale è Locale.CANADA.

Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Articolo correlato - Java String