# C#.Tostring(?)
這是變數轉換成string的方法,他可以換成很多,我在這裡整理
>ChatGPT提供
## 1️⃣ 數字格式
| 格式 | 說明 | 範例 | 結果 |
|---------|-----------------------|-------------------------------|--------------------|
| "F1" | 固定小數點格式(1 位) | 1234.5678.ToString("F1") | 1234.6 |
| "F3" | 固定小數點格式(3 位) | 1234.5678.ToString("F3") | 1234.568 |
| "C5" | 貨幣格式(5 位小數) | 1234.5678.ToString("C5") | $1,234.56780 |
| "C0" | 貨幣格式(無小數) | 1234.5678.ToString("C0") | $1,235 |
| "N" | 千分位數字(預設 2 位小數) | 1234.5678.ToString("N") | 1,234.57 |
| "N1" | 千分位數字(1 位小數) | 1234.5678.ToString("N1") | 1,234.6 |
| "P" | 百分比格式(預設 2 位小數) | 123456.78.ToString("P") | 123456.78% |
| "P1" | 百分比格式(1 位小數) | 123456.78.ToString("P1") | 123456.8% |
| "E" | 科學記數法 | 1234.5678.ToString("E") | 1.234568E+03 |
| "E4" | 科學記數法(4 位小數) | 1234.5678.ToString("E4") | 1.2346E+03 |
| "G" | 一般格式(自動選擇適合的格式) | 1234.5678.ToString("G") | 1234.5678 |
### 不同國家價錢寫法
```csharp=
using System;
using System.Globalization;
class Program
{
static void Main()
{
decimal price = 12345.67m;
Console.WriteLine(price.ToString("C", new CultureInfo("en-US"))); // 🇺🇸 美元
Console.WriteLine(price.ToString("C", new CultureInfo("zh-TW"))); // 🇹🇼 新台幣
Console.WriteLine(price.ToString("C", new CultureInfo("ja-JP"))); // 🇯🇵 日圓
Console.WriteLine(price.ToString("C", new CultureInfo("fr-FR"))); // 🇫🇷 歐元
Console.WriteLine(price.ToString("C", new CultureInfo("ko-KR"))); // 🇰🇷 韓元
}
}
```
## 2️⃣ 日期與時間格式
| 格式 | 說明 | 範例 | 結果 |
|---------------|-----------------------------|----------------------------------------|---------------------------------|
| "d" | 短日期格式 | "d" | 2025/2/18 |
| "D" | 長日期格式 | "D" | 2025年2月18日 星期二 |
| "t" | 短時間格式 | "t" | 14:05 |
| "T" | 長時間格式 | "T" | 14:05:32 |
| "f" | 完整日期 + 短時間 | "f" | 2025年2月18日 14:05 |
| "F" | 完整日期 + 長時間 | "F" | 2025年2月18日 星期二 14:05:32 |
| "g" | 一般日期 + 短時間 | "g" | 2025/2/18 14:05 |
| "G" | 一般日期 + 長時間 | "G" | 2025/2/18 14:05:32 |
| "M" / "m" | 月份 + 日期 | "M" | 2月18日 |
| "Y" / "y" | 年份 + 月份 | "Y" | 2025年2月 |
| "yyyy-MM-dd" | 自訂日期格式 | "yyyy-MM-dd" | 2025-02-18 |
| "HH:mm:ss" | 24 小時制時間格式 | "HH:mm:ss" | 14:05:32 |
## 3️⃣ 自訂格式
| 格式 | 說明 | 範例 | 結果 |
| -------- | ----------------------------- | ---------------------------------- | ----------- |
| "0.00" | 小數點後 2 位,不足補 0 | 1234.5678.ToString("0.00") | 1234.57 |
| "#.##" | 最多 2 位小數,不足不補 0 | 1234.5678.ToString("#.##") | 1234.57 |
| "00000" | 固定 5 位數,不足補 0 | 1234.ToString("00000") | 01234 |
| "#,#" | 加上千分位符號 | 1234.ToString("#,#") | 1,234 |
| "#,#.##" | 千分位 + 兩位小數 | 1234.5678.ToString("#,#.##") | 1,234.57 |
| "#%" | 百分比(不自動 x100) | 1234.5678.ToString("#%") | 123457% |