C#标准数字格式字符串输出示例

出自:http://www.csharpwin.com/csharpspace/9371r9651.shtml

货币

格式字符串 区域性 数据类型 输出

C

en-US

Double

12345.6789

$12,345.68

C

de-DE

Double

12345.678

12.345,68 €

十进制数

格式字符串 区域性 数据类型 输出

D

en-US

Int32

12345

12345

D8

en-US

Int32

12345

00012345

科学记数法(指数)

格式字符串 区域性 数据类型 输出

E

en-US

Double

12345.6789

1.234568E+004

E10

en-US

Double

12345.6789

1.2345678900E+004

E

fr-FR

Double

12345.6789

1,234568E+004

e4

en-US

Double

12345.6789

1.2346e+004

定点

格式字符串 区域性 数据类型 输出

F

en-US

Double

12345.6789

12345.68

F

es-ES

Double

12345.6789

12345,68

F0

en-US

Double

12345.6789

123456

F6

en-US

Double

12345.6789

12345.678900

常规

格式字符串 区域性 数据类型 输出

G

en-US

Double

12345.6789

12345.6789

G7

en-US

Double

12345.6789

12345.68

G

en-US

Double

0.0000023

2.3E-6

G

en-US

Double

0.0023

0.0023

G2

en-US

Double

1234

1.2E3

G

en-US

Double

Math.PI

3.14159265358979

数字

格式字符串 区域性 数据类型 输出

N

en-US

Double

12345.6789

12,345.68

N

sv-SE

Double

12345.6789

12 345,68

N4

en-US

Double

123456789

123,456,789.0000

百分比

格式字符串 区域性 数据类型 输出

P

en-US

Double

.126

12.60 %

往返过程

格式字符串 区域性 数据类型 输出

r

en-US

Double

Math.PI

3.141592653589793

十六进制数

格式字符串 区域性 数据类型 输出

x

en-US

Int32

0x2c45e

2c45e

X

en-US

Int32

0x2c45e

2C45E

X8

en-US

Int32

0x2c45e

0002C45E

x

en-US

Int32

123456789

75bcd15

示例

下面的代码示例使用线程当前区域性、指定区域性以及所有标准数字格式对一个整型数值和一个浮点型数值进行格式化。本代码示例使用两种特定数值类型,但对于任一基本数值类型(ByteSByteInt16Int32Int64UInt16UInt64DecimalSingle 和 Double)将产生类似的结果。

// This code example demonstrates the ToString(String) and 

// ToString(String, IFormatProvider) methods for integral and

// floating-point numbers, in conjunction with the standard 

// numeric format specifiers.

// This code example uses the System.Int32 integral type and 

// the System.Double floating-point type, but would yield 

// similar results for any of the numeric types. The integral 

// numeric types are System.Byte, SByte, Int16, Int32, Int64, 

// UInt16, UInt32, and UInt64. The floating-point numeric types 

// are Decimal, Single, and Double.



using System;

using System.Globalization;

using System.Threading;



class Sample 

{

    public static void Main() 

    {

// Format a negative integer or floating-point number in various ways.

    int    integralVal = -12345;

    double floatingVal = -1234.567d;



    string msgCurrency =    "(C) Currency: . . . . . . ";

    string msgDecimal  =    "(D) Decimal:. . . . . . . ";

    string msgScientific =  "(E) Scientific: . . . . . ";

    string msgFixedPoint =  "(F) Fixed point:. . . . . ";

    string msgGeneral =     "(G) General (default):. . ";

    string msgNumber =      "(N) Number: . . . . . . . ";

    string msgPercent =     "(P) Percent:. . . . . . . ";

    string msgRoundTrip =   "(R) Round-trip: . . . . . ";

    string msgHexadecimal = "(X) Hexadecimal:. . . . . ";



    string msg1 = "Use ToString(String) and the current thread culture.\n";

    string msg2 = "Use ToString(String, IFormatProvider)“ + 

        ” and a specified culture.\n";

    string msgCulture     = "Culture:";

    string msgIntegralVal = "Integral value:";

    string msgFloatingVal = "Floating-point value:";



    CultureInfo ci;

//

    Console.Clear();

    Console.WriteLine("Standard Numeric Format Specifiers:\n");

// Display the values.

    Console.WriteLine(msg1);



// Display the thread current culture, which is used to format the values.

    ci = Thread.CurrentThread.CurrentCulture;

    Console.WriteLine("{0,-26}{1}", msgCulture, ci.DisplayName);



// Display the integral and floating-point values.

    Console.WriteLine("{0,-26}{1}", msgIntegralVal, integralVal);

    Console.WriteLine("{0,-26}{1}", msgFloatingVal, floatingVal);

    Console.WriteLine();



// Use the format specifiers that are only for integral types.

    Console.WriteLine("Format specifiers only for integral types:");

    Console.WriteLine(msgDecimal     + integralVal.ToString("D"));

    Console.WriteLine(msgHexadecimal + integralVal.ToString("X"));

    Console.WriteLine();



// Use the format specifier that is only for the Single and Double 

// floating-point types.

    Console.WriteLine("Format specifier only for the Single and Double types:");

    Console.WriteLine(msgRoundTrip   + floatingVal.ToString("R"));

    Console.WriteLine();



// Use the format specifiers that are for integral or floating-point types.

    Console.WriteLine("Format specifiers for integral or floating-point types:");

    Console.WriteLine(msgCurrency    + floatingVal.ToString("C"));

    Console.WriteLine(msgScientific  + floatingVal.ToString("E"));

    Console.WriteLine(msgFixedPoint  + floatingVal.ToString("F"));

    Console.WriteLine(msgGeneral     + floatingVal.ToString("G"));

    Console.WriteLine(msgNumber      + floatingVal.ToString("N"));

    Console.WriteLine(msgPercent     + floatingVal.ToString("P"));

    Console.WriteLine();



// Display the same values using a CultureInfo object. The CultureInfo class 

// implements IFormatProvider.

    Console.WriteLine(msg2);



// Display the culture used to format the values. 

// Create a European culture and change its currency symbol to "euro" because 

// this particular code example uses a thread current UI culture that cannot 

// display the euro symbol (€).

    ci = new CultureInfo("de-DE");

    ci.NumberFormat.CurrencySymbol = "euro";

    Console.WriteLine("{0,-26}{1}", msgCulture, ci.DisplayName);



// Display the integral and floating-point values.

    Console.WriteLine("{0,-26}{1}", msgIntegralVal, integralVal);

    Console.WriteLine("{0,-26}{1}", msgFloatingVal, floatingVal);

    Console.WriteLine();



// Use the format specifiers that are only for integral types.

    Console.WriteLine("Format specifiers only for integral types:");

    Console.WriteLine(msgDecimal     + integralVal.ToString("D", ci));

    Console.WriteLine(msgHexadecimal + integralVal.ToString("X", ci));

    Console.WriteLine();



// Use the format specifier that is only for the Single and Double 

// floating-point types.

    Console.WriteLine("Format specifier only for the Single and Double types:");

    Console.WriteLine(msgRoundTrip   + floatingVal.ToString("R", ci));

    Console.WriteLine();



// Use the format specifiers that are for integral or floating-point types.

    Console.WriteLine("Format specifiers for integral or floating-point types:");

    Console.WriteLine(msgCurrency    + floatingVal.ToString("C", ci));

    Console.WriteLine(msgScientific  + floatingVal.ToString("E", ci));

    Console.WriteLine(msgFixedPoint  + floatingVal.ToString("F", ci));

    Console.WriteLine(msgGeneral     + floatingVal.ToString("G", ci));

    Console.WriteLine(msgNumber      + floatingVal.ToString("N", ci));

    Console.WriteLine(msgPercent     + floatingVal.ToString("P", ci));

    Console.WriteLine();

    }

}

/*

This code example produces the following results:



Standard Numeric Format Specifiers:



Use ToString(String) and the current thread culture.



Culture:                  English (United States)

Integral value:           -12345

Floating-point value:     -1234.567



Format specifiers only for integral types:

(D) Decimal:. . . . . . . -12345

(X) Hexadecimal:. . . . . FFFFCFC7



Format specifier only for the Single and Double types:

(R) Round-trip: . . . . . -1234.567



Format specifiers for integral or floating-point types:

(C) Currency: . . . . . . ($1,234.57)

(E) Scientific: . . . . . -1.234567E+003

(F) Fixed point:. . . . . -1234.57

(G) General (default):. . -1234.567

(N) Number: . . . . . . . -1,234.57

(P) Percent:. . . . . . . -123,456.70 %



Use ToString(String, IFormatProvider) and a specified culture.



Culture:                  German (Germany)

Integral value:           -12345

Floating-point value:     -1234.567



Format specifiers only for integral types:

(D) Decimal:. . . . . . . -12345

(X) Hexadecimal:. . . . . FFFFCFC7



Format specifier only for the Single and Double types:

(R) Round-trip: . . . . . -1234,567



Format specifiers for integral or floating-point types:

(C) Currency: . . . . . . -1.234,57 euro

(E) Scientific: . . . . . -1,234567E+003

(F) Fixed point:. . . . . -1234,57

(G) General (default):. . -1234,567

(N) Number: . . . . . . . -1.234,57

(P) Percent:. . . . . . . -123.456,70%



*/
作者:佚名

你可能感兴趣的:(.NET)