Heim >Backend-Entwicklung >C++ >Wie kann ich Dezimalzahlen in der String-Formatierung präzise anzeigen?

Wie kann ich Dezimalzahlen in der String-Formatierung präzise anzeigen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-16 13:21:031003Durchsuche

How Can I Precisely Display Decimals in String Formatting?

Dezimalzahlen mithilfe der Zeichenfolgenformatierung präzise anzeigen

Bei der Programmierung ist es oft notwendig, Werte in einem bestimmten Format anzuzeigen. Mit der Zeichenfolgenformatierung können Sie steuern, wie Zahlen angezeigt werden, einschließlich der Anzahl der angezeigten Dezimalstellen.

Stellen Sie sich beispielsweise ein Preisfeld vor, das eine ganze Zahl oder bis zu zwei Dezimalstellen anzeigt. Dazu müssen wir die Formatzeichenfolge anpassen, je nachdem, ob der Preis Dezimalzahlen enthält.

Das folgende Beispiel veranschaulicht das Standardformatierungsverhalten:

<code>// 显示两位小数
String.Format("{0:0.00}", 123.4567); // "123.46"
String.Format("{0:0.00}", 123.4); // "123.40"
String.Format("{0:0.00}", 123.0); // "123.00"</code>

Um jedoch ganze Zahlen ohne Dezimalstellen anzuzeigen, müssen wir die Anzahl der obligatorischen und optionalen Ziffern angeben. Die folgende Formatzeichenfolge zeigt beispielsweise Preise mit bis zu zwei Dezimalstellen an, oder als Ganzzahl, wenn der Preis keine Dezimalstellen hat:

<code>String.Format("{0:0.##}", 123.4567); // "123.46"
String.Format("{0:0.##}", 123.4); // "123.4"
String.Format("{0:0.##}", 123.0); // "123"</code>

In der obigen Formatzeichenfolge steht „0“ für eine obligatorische Zahl und „#“ für eine optionale Zahl. Daher sorgt die Zeichenfolge „0.##“ dafür, dass der Preis mindestens eine Vorkommastelle und höchstens zwei Nachkommastellen hat.

Um die Lösung zu vereinfachen, können wir den ternären Operator verwenden, um zu prüfen, ob der Preis eine Ganzzahl ist, und ihn entsprechend formatieren:

<code>var number = 123.46;
number.ToString(number % 1 == 0 ? "0" : "0.00");</code>

Diese Methode prüft, ob der Rest des durch 1 geteilten Preises Null ist, also eine ganze Zahl. Wenn ja, formatieren Sie die Zahl als Ganzzahl („0“), andernfalls formatieren Sie sie mit zwei Dezimalstellen („0,00“).

Das obige ist der detaillierte Inhalt vonWie kann ich Dezimalzahlen in der String-Formatierung präzise anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn