Format monétaire en Java

Rashmi Patidar 12 octobre 2023
  1. Convertir la devise à l’aide de fonctions logiques en Java
  2. Convertir des devises à l’aide de la classe NumberFormat en Java
Format monétaire en Java

Vous trouverez ci-dessous quelques manières de convertir une devise jusqu’aux valeurs souhaitées en Java.

Convertir la devise à l’aide de fonctions logiques en 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);
    }
  }
}

Dans le code CurrencyConversion ci-dessus, il existe une variable currency_value, qui contient les valeurs des devises au format décimal. Le epsilon est une autre variable qui détient une valeur différente. La valeur peut être n’importe quel nombre flottant qui effectue certaines opérations logiques sur sa différence. La logique de l’instruction if est définie et prend la valeur absolue de la différence entre le nombre arrondi et le nombre réel. La valeur absolue est comparée à la valeur epsilon. Le programme utilise la fonction Math.abs() qui convertit la différence réelle de la valeur décimale à zéro ou supérieure à zéro.

Sur la base de la sortie de l’instruction conditionnelle, elle s’imprime au format 10.0f ou 10.2f. Le spécificateur à deux formats donné indique une partie intégrale comme 10, ce qui signifie que la chaîne entière contient dix caractères. Et la partie fractionnaire spécifie le format jusqu’à 2 décimales.

Dans le journal de la console ci-dessous, il imprime une valeur convertie absolue jusqu’à 2 décimales.

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

Dans le premier cas, lorsque la valeur de la devise est 10.9897, elle est arrondie à 10.99. De plus, lorsque la valeur de la devise est modifiée en 10, la sortie renvoie toujours 10, car rien ne s’arrondit dans la devise d’entrée. Et lorsque la valeur de la devise est modifiée en 10.0008, le montant est arrondi à la valeur 10.

Convertir des devises à l’aide de la classe NumberFormat en 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);
  }
}

Le bloc de code ci-dessus utilise la classe NumberFormat qui appelle une méthode statique la fonction getCurrencyInstance. La méthode renvoie le format de devise du format dans les paramètres régionaux par défaut. Il prend également une valeur locale pour spécifier une région. Et les instances monétaires peuvent être au format Rupees Dollar en fonction de la zone ou de la région définie. L’instance du formateur est maintenant utilisée pour appeler une méthode de formatage. La méthode format prend un paramètre double money et renvoie une valeur String. La fonction peut lancer ArithmeticException lorsque l’arrondi se produit de manière incorrecte.

Le code ci-dessus crée la sortie suivante.

Rs.100.10

Mais cela peut être différent lorsque la valeur locale est différente. La sortie peut être lorsque la valeur locale est Locale.CHINA. Ou il renvoie $ lorsque la Locale est 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

Article connexe - Java String