Csharp/C Sharp/Development Class/Number Format

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

A closer look at Format()

/*
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); 
    } 
  } 
}


Format an enumeration

/*
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); 
  } 
}


Illustrates formatting numbers

/*
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);
  }
}


Numeric Formatting:Custom Format Strings:Decimal Point

using System;
public class DecimalPoint
{
    public static void Main()
    {
        Console.WriteLine("{0:#####.000}", 75928.3);
        Console.WriteLine("{0:##.000}", 1456.456456);
    }
}


Numeric Formatting:Custom Format Strings:Digit or Space Placeholder

using System;
public class DigitorSpacePlaceholder
{
    public static void Main()
    {
        Console.WriteLine("{0:#####}", 255);
        Console.WriteLine("{0:#####}", 1456);
        Console.WriteLine("{0:###}", 32767);
    }
}


Numeric Formatting:Custom Format Strings:Digit or Zero Placeholder

using System;
public class DigitorZeroPlaceholder
{
    public static void Main()
    {
        Console.WriteLine("{0:000}", 55);
        Console.WriteLine("{0:000}", 1456);
    }
}


Numeric Formatting:Custom Format Strings:Escapes and Literals

using System;
public class EscapesandLiterals
{
    public static void Main()
    {
        Console.WriteLine("{0:###\\#}", 255);
        Console.WriteLine(@"{0:###\#}", 255);
        Console.WriteLine("{0:###"#0%;"}", 1456);
    }
}


Numeric Formatting:Custom Format Strings:Exponential Notation

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);
    }
}


Numeric Formatting:Custom Format Strings:Group Separator

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);
    }
}


Numeric Formatting:Custom Format Strings:Number Prescaler

using System;
public class NumberPrescaler
{
    public static void Main()
    {
        Console.WriteLine("{0:000,.##}", 158847);
        Console.WriteLine("{0:000,,,.###}", 1593833);
    }
}


Numeric Formatting:Custom Format Strings:Percent Notation

using System;
public class PercentNotation
{
    public static void Main()
    {
        Console.WriteLine("{0:##.000%}", 0.89144);
        Console.WriteLine("{0:00%}", 0.01285);
    }
}


Numeric Formatting:Custom Format Strings:Section Separator

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);
    }
}


Numeric Formatting:Standard Format Strings:Currency

using System;
public class Currency
{
    public static void Main()
    {
        Console.WriteLine("{0:C}", 33345.8977);
        Console.WriteLine("{0:C}", -33345.8977);
    }
}


Numeric Formatting:Standard Format Strings:Decimal

using System;
public class StandardFormatStringsDecimal {
    public static void Main()
    {
        Console.WriteLine("{0:D}", 33345);
        Console.WriteLine("{0:D7}", 33345);
    }
}


Numeric Formatting:Standard Format Strings:Fixed-Point

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);
    }
}


Numeric Formatting:Standard Format Strings:General

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);
    }
}


Numeric Formatting:Standard Format Strings:Hexadecimal

using System;
public class Hexadecimal
{
    public static void Main()
    {
        Console.WriteLine("{0:X}", 255);
        Console.WriteLine("{0:x8}", 1456);
    }
}


Numeric Formatting:Standard Format Strings:Number

using System;
public class StandardFormatStringsNumber
{
    public static void Main()
    {
        Console.WriteLine("{0:N}", 33345.8977);
        Console.WriteLine("{0:N4}", 33345.8977);
    }
}


Numeric Formatting:Standard Format Strings:Scientific (Exponential)

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);
    }
}


Use String.Format() to format a value

/*
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); 
  }  
}


Use ToString() to format values

/*
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); 
  } 
}


Using custom formats

/*
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); 
  } 
}