Währungsformat in Java

Rashmi Patidar 12 Oktober 2023
  1. Konvertieren Sie die Währung mit logischen Funktionen in Java
  2. Währung mit der Klasse NumberFormat in Java umrechnen
Währungsformat in Java

Im Folgenden finden Sie einige Möglichkeiten, wie wir eine Währung in Java in die gewünschten Werte umrechnen können.

Konvertieren Sie die Währung mit logischen Funktionen 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);
    }
  }
}

Im obigen CurrencyConversion-Code gibt es eine Variable currency_value, die Währungswerte im Dezimalformat enthält. Das epsilon ist eine weitere Variable, die einen anderen Wert enthält. Der Wert kann eine beliebige Gleitkommazahl sein, die einige logische Operationen über ihre Differenz ausführt. Die if-Anweisungslogik ist definiert, die den absoluten Wert der Differenz zwischen der gerundeten und der tatsächlichen Zahl annimmt. Der Absolutwert wird mit dem Epsilon-Wert verglichen. Das Programm verwendet die Funktion Math.abs(), die die tatsächliche Differenz des Dezimalwertes in Null oder grösser Null umwandelt.

Basierend auf der Ausgabe der bedingten Anweisung druckt sie entweder im Format 10.0f oder 10.2f. Die angegebenen zwei Formatbezeichner sagen einen integralen Teil als 10, was bedeutet, dass der gesamte String zehn Zeichen enthält. Und der Bruchteil gibt das Format bis 2 Dezimalstellen an.

Im folgenden Konsolenprotokoll wird ein absoluter konvertierter Wert mit bis zu 2 Dezimalstellen ausgegeben.

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

Im ersten Fall wird der Währungswert 10.9897 auf 10.99 gerundet. Auch wenn der Währungswert auf 10 geändert wird, gibt die Ausgabe immer noch 10 zurück, da in der Eingabewährung nichts abgerundet wird. Und wenn der Währungswert auf 10.0008 geändert wird, wird der Betrag auf den Wert 10 gerundet.

Währung mit der Klasse NumberFormat in Java umrechnen

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);
  }
}

Der obige Codeblock verwendet die Klasse NumberFormat, die eine statische Methode die Funktion getCurrencyInstance aufruft. Die Methode gibt das Währungsformat des Formats im Standardgebietsschema zurück. Außerdem ist ein Gebietsschemawert erforderlich, um eine Region anzugeben. Und die Währungsinstanzen können im Format Rupees Dollar basierend auf der definierten Region oder Region vorliegen. Jetzt wird die Formatierungsinstanz verwendet, um eine Formatierungsmethode aufzurufen. Die Methode format nimmt einen Parameter double money und gibt einen String-Wert zurück. Die Funktion kann ArithmeticException auslösen, wenn die Rundung nicht korrekt erfolgt.

Der obige Code erstellt die folgende Ausgabe.

Rs.100.10

Es kann jedoch anders sein, wenn der Gebietsschemawert unterschiedlich ist. Die Ausgabe kann sein, wenn der Gebietsschemawert Locale.CHINA ist. Oder es gibt $ zurück, wenn das Gebietsschema Locale.CANADA ist.

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

Verwandter Artikel - Java String