尽管代码中的数据在处理时可能会需要很多步骤,但是在把它输出给用户之前,你不必担心数据格式的问题。.NET框架提供了各种选项来让你正确的显示数据。让我们看看如何转化数字型数据。
对数据进行格式化并不是必须的,但是所有的基本类型(双精度、整型、浮点型等等)都包括了标准的ToString方法。它是默认的格式化方法,你可以用这个方法来显示数据。例如,下面的C#代码将创建一个双精度变量,然后加载并向用户显示它:
double dbl = 4.003333;
System.Console.WriteLine("The value is " + dbl.ToString());
输出是:
The value is 4.003333
有了ToString方法,你就可以轻松的显示变量的内容,但是你不能用它来控制数据显示的方式。让我们进一步看看各种显示数字的方法。
指定格式
.NET框架中有好多种指定显示格式的格式指定符(format specifier),下面详细的列出了各种格式指定符的含义:
* C:货币
* D:十进制
* E或者e:指数
* F:定点
* G:常规
* N:数字
* X或者x:十六进制
* P:百分比
指定符后面可以包括一个数字(附加其后),该数字确定了显示精度,即数字显示的位数。如果你想使用格式指定符,那么你需要在变量占位符(在字符串里)边上放置一个冒号,然后在冒号后面放上格式指定符。下面的C#代码演示格式指定符的用法:
inttst = 550000;
System.Console.WriteLine("{0:C}", tst);
System.Console.WriteLine("{0:D}", tst);
System.Console.WriteLine("{0:E}", tst);
System.Console.WriteLine("{0:e}", tst);
System.Console.WriteLine("{0:F}", tst);
System.Console.WriteLine("{0:G}", tst);
System.Console.WriteLine("{0:N}", tst);
System.Console.WriteLine("{0:X}", tst);
System.Console.WriteLine("{0:x}", tst);
System.Console.WriteLine("{0:C3}", tst);
System.Console.WriteLine("{0:D9}", tst);
System.Console.WriteLine("{0:E12}", tst);
System.Console.WriteLine("{0:F7}", tst);
System.Console.WriteLine("{0:G4}", tst);
System.Console.WriteLine("{0:N10}", tst);
System.Console.WriteLine("{0:X8}", tst);
System.Console.WriteLine("{0:P8}", tst);
上述代码的输出为:
$550,000.00
550000
5.500000E+005
5.500000e+005
550000.00
550000
550,000.00
86470
86470
$550,000.000
000550000
5.500000000000E+005
550000.0000000
5.5E+05
550,000.0000000000
00086470
从上面的例子可以看出来,显示结果的精度不仅取决于精度指示符(即格式指定符后面用于控制显示位数的数字)也取决于格式化类型。下面的清单指明了不同格式指定符下,精度指示符如何控制数字显示位数:
* C、E、e、F、N:精度指示符控制小数部分的位数
* D、G、x、X:精度指示符控制整数部分的位数
有了这些格式指定符,程序员就可以根据用户的要求来显示数据。
