程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 輸出字符串格式詳解

C# 輸出字符串格式詳解

編輯:C#入門知識

C#的控制台輸出函數是System.Console裡面的WriteLine和Write。
輸出多個字符串可以直接用“ ”連接,比如
int a=10;string b="Hello",double c=222.22;
Console.WriteLine("aaaa" a.ToString() " " b " " c.ToString() "The End");
也可以使用指定格式,
Console.WriteLine("aaaa{0} {1} {2} The End",a,b,c);
效果跟前面是一樣的。
WriteLine是控制台輸出,ToString則可以用於其它地方,
另外也可以對標准輸入輸出進行重定向,使ReadLine和WriteLine可以對控件操作:
Process pcmd = new Process();
pcmd.StartInfo.FileName = "cmd";
pcmd.StartInfo.UseShellExecute = false;
pcmd.StartInfo.RedirectStandardInput = true;
pcmd.StartInfo.RedirectStandardOutput = true;
pcmd.StartInfo.RedirectStandardError = true;
pcmd.StartInfo.CreateNoWindow = true;
//string result = null;
pcmd.Start();
pcmd.StandardInput.WriteLine(textBox1.Text);
pcmd.StandardInput.WriteLine("exit");
richTextBox1.Text=pcmd.StandardOutput.ReadToEnd();

ToString函數也可以使用格式。
{}中間的數字是索引,代表列表中參數的序號。

還可以有更高級的用法
格式為{n,w:x}

n為索引,w為寬度,對齊用的,x是格式字符串。

來看個具體的例子:
static void Main(string[] args)
{
    double a = 123.456;
    System.Console.Write("{0}",a.ToString("F0"));
    for (int i = 0; i < 100; i )
    {
        if (i % 5 == 0) System.Console.WriteLine();
        System.Console.Write("{0,5:D2}", i);
    }
}
System.Console.Write("{0}",a.ToString("F0"));表示把a精度為0的小數輸出。
也可以寫成System.Console.Write("{0,3:F0}",a);
System.Console.Write("{0,5:D2}", i);表示寬度為5,精度為2,不足補0。
D表示是整數,其它的標准數字格式字符串有:
C    本地貨幣格式
E    科學記數法(指數)格式
F   定點(小數)格式
G   常規格式
N   數字格式
P   百分數格式
X   十六進制格式
R   往返過程

還有一種方式是使用占位符:
double a = 1.2345;
System.Console.WriteLine("{0:###.000000}", a);
結果為1.234500
“#”號位置上有字符就輸出,沒有則不輸出,0的位置上有字符就輸出,沒有就填0。

再來看個例子:
decimal m = 168.24m;
decimal n = 45.8m;
System.Console.WriteLine("{0,8:C2} {1,8:C2} {2,8:C2}", m, n,m-n);

輸出結果為
¥168.24
¥45.80
¥122.44
前面有一個空格,因為寬度是8,小數點後保留兩位小數,不足補0。

它是右對齊的,我們可以換成左對齊:
¥168.24
¥45.80
¥122.44
“¥”符號是自動加上去的,我們這裡選擇的是貨幣格式,它會自動選擇適當的符號,RMB當然是¥,要修改可以去控制面板裡面設置語言和貨幣。
以上是數字的格式,另外日期和時間格式字符串也是比較常用的。
static void Main(string[] args)
{
    DateTime date1 = new DateTime(2010, 5, 22,19,50,28);        //2010年5月22日19點50分28秒     
    Console.WriteLine(date1.ToString("f",CultureInfo.CreateSpecificCulture("zh-CN")));
}
D       長日期模式                    2010年5月22日
f         完整日期/時間模式(短時間)            2010年5月22日 19:50
F        完整日期/時間模式(長時間)           2010年5月22日 19:50:28
g        常規日期/時間模式(短時間)           2010/5/22 19:50
G      常規日期/時間模式(長時間)           2010/5/22 19:50:28
M或m   月日模式                                     5月22日
t         短時間模式                                    19:50
T       長時間模式                                     19:50:28
u        通用的可排序日期/時間模式           2010-05-22 19:50:28Z
U        通用完整日期/時間模式                  2010年5月22日 11:50:28
Y或y     年月模式                                      2010年5月
還可以自定義格式,
{
    DateTime date1 = new DateTime(2010, 5, 22,19,50,28);                   
    Console.WriteLine(date1.ToString("yyyy年MM月dd日 tt hh:mm:ss.FF",CultureInfo.CreateSpecificCulture("zh-CN")));                 
}
輸出為2010年05月22日 下午 07:50:28
還有很多用法,詳情可以去查MSDN。
輸出為 2010年5月22日 19:50,還有其它的:
d        短日期模式                     2010/5/22

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved