Csharp/C Sharp/Development Class/Number Format
Содержание
- 1 A closer look at Format()
- 2 Format an enumeration
- 3 Illustrates formatting numbers
- 4 Numeric Formatting:Custom Format Strings:Decimal Point
- 5 Numeric Formatting:Custom Format Strings:Digit or Space Placeholder
- 6 Numeric Formatting:Custom Format Strings:Digit or Zero Placeholder
- 7 Numeric Formatting:Custom Format Strings:Escapes and Literals
- 8 Numeric Formatting:Custom Format Strings:Exponential Notation
- 9 Numeric Formatting:Custom Format Strings:Group Separator
- 10 Numeric Formatting:Custom Format Strings:Number Prescaler
- 11 Numeric Formatting:Custom Format Strings:Percent Notation
- 12 Numeric Formatting:Custom Format Strings:Section Separator
- 13 Numeric Formatting:Standard Format Strings:Currency
- 14 Numeric Formatting:Standard Format Strings:Decimal
- 15 Numeric Formatting:Standard Format Strings:Fixed-Point
- 16 Numeric Formatting:Standard Format Strings:General
- 17 Numeric Formatting:Standard Format Strings:Hexadecimal
- 18 Numeric Formatting:Standard Format Strings:Number
- 19 Numeric Formatting:Standard Format Strings:Scientific (Exponential)
- 20 Use String.Format() to format a value
- 21 Use ToString() to format values
- 22 Using custom formats
A closer look at Format()
<source lang="csharp"> /* C#: The Complete Reference by Herbert Schildt Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852
- /
// A closer look at Format().
using System;
public class FormatDemo2 {
public static void Main() { int i; int sum = 0; int prod = 1; string str; /* Display the running sum and product for the numbers 1 through 10. */ for(i=1; i <= 10; i++) { sum += i; prod *= i; str = String.Format("Sum:{0,3:D} Product:{1,8:D}", sum, prod); Console.WriteLine(str); } }
}
</source>
Format an enumeration
<source lang="csharp"> /* C#: The Complete Reference by Herbert Schildt Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852
- /
// Format an enumeration.
using System;
public class EnumFmtDemo {
enum Direction { North, South, East, West } [Flags] enum Status { Ready=0x1, OffLine=0x2, Waiting=0x4, TransmitOK=0x8, RecieveOK=0x10, OnLine=0x20 } public static void Main() { Direction d = Direction.West; Console.WriteLine("{0:G}", d); Console.WriteLine("{0:F}", d); Console.WriteLine("{0:D}", d); Console.WriteLine("{0:X}", d); Status s = Status.Ready | Status.TransmitOK; Console.WriteLine("{0:G}", s); Console.WriteLine("{0:F}", s); Console.WriteLine("{0:D}", s); Console.WriteLine("{0:X}", s); }
}
</source>
Illustrates formatting numbers
<source lang="csharp"> /* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110
- /
/*
Example2_15.cs illustrates formatting numbers
- /
public class Example2_151 {
public static void Main() { // formatting integers int myInt = 12345; int myInt2 = 67890; System.Console.WriteLine("myInt = {0, 6}, myInt2 = {1, 5}", myInt, myInt2); System.Console.WriteLine("myInt using 10:d = {0, 10:d}", myInt); System.Console.WriteLine("myInt using 10:x = {0, 10:x2}", myInt); // formatting floating-point numbers double myDouble = 1234.56789; System.Console.WriteLine("myDouble using 10:f3 = {0, 10:f3}", myDouble); float myFloat = 1234.56789f; System.Console.WriteLine("myFloat using 10:f3 = {0, 10:f3}", myFloat); decimal myDecimal = 1234.56789m; System.Console.WriteLine("myDecimal using 10:f3 = {0, 10:f3}", myDecimal); System.Console.WriteLine("myFloat using 10:e3 = {0, 10:e3}", myFloat); System.Console.WriteLine("myFloat using 10:p2 = {0, 10:p2}", myFloat); System.Console.WriteLine("myFloat using 10:n2 = {0, 10:n2}", myFloat); System.Console.WriteLine("myFloat using 10:g2 = {0, 10:g2}", myFloat); // formatting currency values decimal myMoney = 15123.45m; System.Console.WriteLine("myMoney using 10:c2 = {0, 10:c2}", myMoney); }
}
</source>
Numeric Formatting:Custom Format Strings:Decimal Point
<source lang="csharp"> using System; public class DecimalPoint {
public static void Main() { Console.WriteLine("{0:#####.000}", 75928.3); Console.WriteLine("{0:##.000}", 1456.456456); }
}
</source>
Numeric Formatting:Custom Format Strings:Digit or Space Placeholder
<source lang="csharp"> using System; public class DigitorSpacePlaceholder {
public static void Main() { Console.WriteLine("{0:#####}", 255); Console.WriteLine("{0:#####}", 1456); Console.WriteLine("{0:###}", 32767); }
}
</source>
Numeric Formatting:Custom Format Strings:Digit or Zero Placeholder
<source lang="csharp"> using System; public class DigitorZeroPlaceholder {
public static void Main() { Console.WriteLine("{0:000}", 55); Console.WriteLine("{0:000}", 1456); }
}
</source>
Numeric Formatting:Custom Format Strings:Escapes and Literals
<source lang="csharp"> using System; public class EscapesandLiterals {
public static void Main() { Console.WriteLine("{0:###\\#}", 255); Console.WriteLine(@"{0:###\#}", 255); Console.WriteLine("{0:###"#0%;"}", 1456); }
}
</source>
Numeric Formatting:Custom Format Strings:Exponential Notation
<source lang="csharp"> using System; public class ExponentialNotation {
public static void Main() { Console.WriteLine("{0:###.000E-00}", 3.1415533E+04); Console.WriteLine("{0:#.0000000E+000}", 2.553939939E+101); }
}
</source>
Numeric Formatting:Custom Format Strings:Group Separator
<source lang="csharp"> using System; public class GroupSeparator {
public static void Main() { Console.WriteLine("{0:##,###}", 2555634323); Console.WriteLine("{0:##,000.000}", 14563553.593993); Console.WriteLine("{0:#,#.000}", 14563553.593993); }
}
</source>
Numeric Formatting:Custom Format Strings:Number Prescaler
<source lang="csharp"> using System; public class NumberPrescaler {
public static void Main() { Console.WriteLine("{0:000,.##}", 158847); Console.WriteLine("{0:000,,,.###}", 1593833); }
}
</source>
Numeric Formatting:Custom Format Strings:Percent Notation
<source lang="csharp"> using System; public class PercentNotation {
public static void Main() { Console.WriteLine("{0:##.000%}", 0.89144); Console.WriteLine("{0:00%}", 0.01285); }
}
</source>
Numeric Formatting:Custom Format Strings:Section Separator
<source lang="csharp"> using System; public class SectionSeparator {
public static void Main() { Console.WriteLine("{0:###.00;0;(###.00)}", -456.55); Console.WriteLine("{0:###.00;0;(###.00)}", 0); Console.WriteLine("{0:###.00;0;(###.00)}", 456.55); }
}
</source>
Numeric Formatting:Standard Format Strings:Currency
<source lang="csharp"> using System; public class Currency {
public static void Main() { Console.WriteLine("{0:C}", 33345.8977); Console.WriteLine("{0:C}", -33345.8977); }
}
</source>
Numeric Formatting:Standard Format Strings:Decimal
<source lang="csharp"> using System; public class StandardFormatStringsDecimal {
public static void Main() { Console.WriteLine("{0:D}", 33345); Console.WriteLine("{0:D7}", 33345); }
}
</source>
Numeric Formatting:Standard Format Strings:Fixed-Point
<source lang="csharp"> using System; public class FixedPoint {
public static void Main() { Console.WriteLine("{0:F}", 33345.8977); Console.WriteLine("{0:F0}", 33345.8977); Console.WriteLine("{0:F5}", 33345.8977); }
}
</source>
Numeric Formatting:Standard Format Strings:General
<source lang="csharp"> using System; public class StandardFormatStringsGeneral {
public static void Main() { Console.WriteLine("{0:G}", 33345.8977); Console.WriteLine("{0:G7}", 33345.8977); Console.WriteLine("{0:G4}", 33345.8977); }
}
</source>
Numeric Formatting:Standard Format Strings:Hexadecimal
<source lang="csharp"> using System; public class Hexadecimal {
public static void Main() { Console.WriteLine("{0:X}", 255); Console.WriteLine("{0:x8}", 1456); }
}
</source>
Numeric Formatting:Standard Format Strings:Number
<source lang="csharp"> using System; public class StandardFormatStringsNumber {
public static void Main() { Console.WriteLine("{0:N}", 33345.8977); Console.WriteLine("{0:N4}", 33345.8977); }
}
</source>
Numeric Formatting:Standard Format Strings:Scientific (Exponential)
<source lang="csharp"> using System; public class ScientificExponential {
public static void Main() { Console.WriteLine("{0:E}", 33345.8977); Console.WriteLine("{0:E10}", 33345.8977); Console.WriteLine("{0:e4}", 33345.8977); }
}
</source>
Use String.Format() to format a value
<source lang="csharp"> /* C#: The Complete Reference by Herbert Schildt Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852
- /
// Use String.Format() to format a value.
using System;
public class FormatDemo1 {
public static void Main() { double v = 17688.65849; double v2 = 0.15; int x = 21; string str = String.Format("{0:F2}", v); Console.WriteLine(str); str = String.Format("{0:N5}", v); Console.WriteLine(str); str = String.Format("{0:e}", v); Console.WriteLine(str); str = String.Format("{0:r}", v); Console.WriteLine(str); str = String.Format("{0:p}", v2); Console.WriteLine(str); str = String.Format("{0:X}", x); Console.WriteLine(str); str = String.Format("{0:D12}", x); Console.WriteLine(str); str = String.Format("{0:C}", 189.99); Console.WriteLine(str); }
}
</source>
Use ToString() to format values
<source lang="csharp"> /* C#: The Complete Reference by Herbert Schildt Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852
- /
// Use ToString() to format values.
using System;
public class ToStringDemo {
public static void Main() { double v = 17688.65849; double v2 = 0.15; int x = 21; string str = v.ToString("F2"); Console.WriteLine(str); str = v.ToString("N5"); Console.WriteLine(str); str = v.ToString("e"); Console.WriteLine(str); str = v.ToString("r"); Console.WriteLine(str); str = v2.ToString("p"); Console.WriteLine(str); str = x.ToString("X"); Console.WriteLine(str); str = x.ToString("D12"); Console.WriteLine(str); str = 189.99.ToString("C"); Console.WriteLine(str); }
}
</source>
Using custom formats
<source lang="csharp"> /* C#: The Complete Reference by Herbert Schildt Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852
- /
// Using custom formats.
using System;
public class PictureFormatDemo {
public static void Main() { double num = 64354.2345; Console.WriteLine("Default format: " + num); // Display with 2 decimal places. Console.WriteLine("Value with two decimal places: " + "{0:#.##}", num); // Display with commas and 2 decimal places. Console.WriteLine("Add commas: {0:#,###.##}", num); // Display using scientific notation. Console.WriteLine("Use scientific notation: " + "{0:#.###e+00}", num); // Scale the value by 1000. Console.WriteLine("Value in 1,000s: " + "{0:#0,}", num); /* Display positive, negative, and zero values differently. */ Console.WriteLine("Display positive, negative, " + "and zero values differently."); Console.WriteLine("{0:#.#;(#.##);0.00}", num); num = -num; Console.WriteLine("{0:#.##;(#.##);0.00}", num); num = 0.0; Console.WriteLine("{0:#.##;(#.##);0.00}", num); // Display a percentage. num = 0.17; Console.WriteLine("Display a pecentage: {0:#%}", num); }
}
</source>