聊聊 C# 中的ToString()數字格式化
應用場景
數字格式化在以下場景中非常有用:
- 貨幣表示:顯示不同國家和地區的貨幣格式。
- 百分比顯示:將數字轉換為百分比形式。
- 自定義數字格式:根據需求自定義數字的顯示方式。
- 科學計數法表示:對于非常大或非常小的數值,使用科學計數法。
- 固定小數點表示:特定小數位數的表示,常用于財務報告。
例子 1: 貨幣表示
decimal price = 1234.56m;
string formattedPrice = price.ToString("C");
Console.WriteLine(formattedPrice); // 輸出: $1,234.56 或其他貨幣格式,取決于當前區域設置
在這個例子中,"C"格式指定了貨幣格式。輸出的貨幣符號和小數位數會根據當前系統的區域設置來決定。
例子 2: 百分比顯示
double completion = 0.856;
string formattedCompletion = completion.ToString("P");
Console.WriteLine(formattedCompletion); // 輸出: 85.6%
這里,"P"格式將數字轉換為百分比形式,通常會自動乘以100,并添加百分號。
例子 3: 自定義數字格式
double number = 12345.6789;
string formattedNumber = number.ToString("#,##0.00");
Console.WriteLine(formattedNumber); // 輸出: 12,345.68
圖片
自定義格式"#,##0.00"指定了數字的顯示方式,包括千位分隔符和兩位小數。
例子 4: 科學計數法表示
double value = 1234567890;
string formattedValue = value.ToString("E");
Console.WriteLine(formattedValue); // 輸出: 1.234567890E+009
使用"E"格式指定了科學計數法。輸出的結果包含一個指數,表示數字的大小。
例子 5: 固定小數點表示
double pi = 3.14159265;
string formattedPi = pi.ToString("F2");
Console.WriteLine(formattedPi); // 輸出: 3.14
圖片
"F2"格式指定了固定的兩位小數,常用于需要固定小數點精度的場合。
結論
C#中的ToString()方法提供了一種靈活且強大的方式來格式化數字。無論是為了更好地展示數據、滿足本地化需求,還是簡化復雜的數值表示,ToString()都能夠滿足開發者的需求。通過使用標準的或自定義的格式字符串,開發者可以輕松地將數值轉換為所需的格式。然而,需要注意的是,ToString()方法的默認行為可能會因當前區域設置的不同而有所變化,因此在處理國際化應用時,應當考慮顯式指定區域設置或使用不依賴于區域的格式。