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
Freigeben: 2025-01-16 13:21:03
Original
1002 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage