当前位置: 首页>>代码示例>>C#>>正文


C# Convert.ToDecimal方法代码示例

本文整理汇总了C#中System.Convert.ToDecimal方法的典型用法代码示例。如果您正苦于以下问题:C# Convert.ToDecimal方法的具体用法?C# Convert.ToDecimal怎么用?C# Convert.ToDecimal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Convert的用法示例。


在下文中一共展示了Convert.ToDecimal方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main

//引入命名空间
using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] values = { "123456789", "12345.6789", "12 345,6789",
                          "123,456.789", "123 456,789", "123,456,789.0123",
                          "123 456 789,0123" };
      CultureInfo[] cultures = { new CultureInfo("en-US"),
                                 new CultureInfo("fr-FR") }; 

      foreach (CultureInfo culture in cultures)
      {
         Console.WriteLine("String -> Decimal Conversion Using the {0} Culture",
                           culture.Name);
         foreach (string value in values)
         {
            Console.Write("{0,20}  ->  ", value);
            try {
               Console.WriteLine(Convert.ToDecimal(value, culture));
            }
            catch (FormatException) {
               Console.WriteLine("FormatException");
            }
         }
         Console.WriteLine();
      }                     
   }
}
开发者ID:.NET开发者,项目名称:System,代码行数:32,代码来源:Convert.ToDecimal

输出:

String -> Decimal Conversion Using the en-US Culture
123456789  ->  123456789
12345.6789  ->  12345.6789
12 345,6789  ->  FormatException
123,456.789  ->  123456.789
123 456,789  ->  FormatException
123,456,789.0123  ->  123456789.0123
123 456 789,0123  ->  FormatException

String -> Decimal Conversion Using the fr-FR Culture
123456789  ->  123456789
12345.6789  ->  FormatException
12 345,6789  ->  12345.6789
123,456.789  ->  FormatException
123 456,789  ->  123456.789
123,456,789.0123  ->  FormatException
123 456 789,0123  ->  123456789.0123

示例2: Temperature

//引入命名空间
using System;
using System.Globalization;

public class Temperature : IConvertible
{
   private decimal m_Temp;

   public Temperature(decimal temperature)
   {
      this.m_Temp = temperature;
   }
   
   public decimal Celsius
   {
      get { return this.m_Temp; }   
   }
   
   public decimal Kelvin
   {
      get { return this.m_Temp + 273.15m; }    
   }
   
   public decimal Fahrenheit
   {
      get { return Math.Round((decimal) (this.m_Temp * 9 / 5 + 32), 2); }
   }
   
   public override string ToString()
   {
      return m_Temp.ToString("N2") + " °C";
   }

   // IConvertible implementations.
   public TypeCode GetTypeCode()
   {
      return TypeCode.Object;
   }
   
   public bool ToBoolean(IFormatProvider provider) 
   {
      if (m_Temp == 0)
         return false;
      else
         return true;
   } 
   
   public byte ToByte(IFormatProvider provider)
   {
      if (m_Temp < Byte.MinValue || m_Temp > Byte.MaxValue)
         throw new OverflowException(String.Format("{0} is out of range of the Byte type.", 
                                                   this.m_Temp));
      else
         return Decimal.ToByte(this.m_Temp);
   }
   
   public char ToChar(IFormatProvider provider)
   {
      throw new InvalidCastException("Temperature to Char conversion is not supported.");
   } 
   
   public DateTime ToDateTime(IFormatProvider provider)
   {
      throw new InvalidCastException("Temperature to DateTime conversion is not supported.");
   }
   
   public decimal ToDecimal(IFormatProvider provider)
   {
      return this.m_Temp;
   }
   
   public double ToDouble(IFormatProvider provider)
   {
      return Decimal.ToDouble(this.m_Temp);
   }   
   
   public short ToInt16(IFormatProvider provider)
   {
      if (this.m_Temp < Int16.MinValue || this.m_Temp > Int16.MaxValue)
         throw new OverflowException(String.Format("{0} is out of range of the Int16 type.",
                                                   this.m_Temp));
      else
         return Decimal.ToInt16(this.m_Temp);
   }
   
   public int ToInt32(IFormatProvider provider)
      {
      if (this.m_Temp < Int32.MinValue || this.m_Temp > Int32.MaxValue)
         throw new OverflowException(String.Format("{0} is out of range of the Int32 type.",
                                                   this.m_Temp));
      else
         return Decimal.ToInt32(this.m_Temp);
   }
   
   public long ToInt64(IFormatProvider provider)
   {
      if (this.m_Temp < Int64.MinValue || this.m_Temp > Int64.MaxValue)
         throw new OverflowException(String.Format("{0} is out of range of the Int64 type.",
                                                   this.m_Temp));
      else
         return Decimal.ToInt64(this.m_Temp);
   }
   
   public sbyte ToSByte(IFormatProvider provider)
   {
      if (this.m_Temp < SByte.MinValue || this.m_Temp > SByte.MaxValue)
         throw new OverflowException(String.Format("{0} is out of range of the SByte type.",
                                                   this.m_Temp));
      else
         return Decimal.ToSByte(this.m_Temp);
   }

   public float ToSingle(IFormatProvider provider)
   {
      return Decimal.ToSingle(this.m_Temp);
   }

   public string ToString(IFormatProvider provider)
   {
      return m_Temp.ToString("N2", provider) + " °C";
   }
   
   public object ToType(Type conversionType, IFormatProvider provider)
   {
      switch (Type.GetTypeCode(conversionType))
      {
         case TypeCode.Boolean: 
            return this.ToBoolean(null);
         case TypeCode.Byte:
            return this.ToByte(null);
         case TypeCode.Char:
            return this.ToChar(null);
         case TypeCode.DateTime:
            return this.ToDateTime(null);
         case TypeCode.Decimal:
            return this.ToDecimal(null);
         case TypeCode.Double:
            return this.ToDouble(null);
         case TypeCode.Int16:
            return this.ToInt16(null);
         case TypeCode.Int32:
            return this.ToInt32(null);
         case TypeCode.Int64:
            return this.ToInt64(null);
         case TypeCode.Object:
            if (typeof(Temperature).Equals(conversionType))
               return this;
            else
               throw new InvalidCastException(String.Format("Conversion to a {0} is not supported.",
                                                            conversionType.Name));
         case TypeCode.SByte:
            return this.ToSByte(null);
         case TypeCode.Single:
            return this.ToSingle(null);
         case TypeCode.String:
            return this.ToString(provider);
         case TypeCode.UInt16:
            return this.ToUInt16(null);
         case TypeCode.UInt32:
            return this.ToUInt32(null);
         case TypeCode.UInt64:
            return this.ToUInt64(null);   
         default:
            throw new InvalidCastException(String.Format("Conversion to {0} is not supported.", conversionType.Name));   
      }
   }
   
   public ushort ToUInt16(IFormatProvider provider)
   {
      if (this.m_Temp < UInt16.MinValue || this.m_Temp > UInt16.MaxValue)
         throw new OverflowException(String.Format("{0} is out of range of the UInt16 type.",
                                                   this.m_Temp));
      else
         return Decimal.ToUInt16(this.m_Temp);
   }

   public uint ToUInt32(IFormatProvider provider)
   {
      if (this.m_Temp < UInt32.MinValue || this.m_Temp > UInt32.MaxValue)
         throw new OverflowException(String.Format("{0} is out of range of the UInt32 type.",
                                                   this.m_Temp));
      else
         return Decimal.ToUInt32(this.m_Temp);
   }
   
   public ulong ToUInt64(IFormatProvider provider)
   {
      if (this.m_Temp < UInt64.MinValue || this.m_Temp > UInt64.MaxValue)
         throw new OverflowException(String.Format("{0} is out of range of the UInt64 type.",
                                                   this.m_Temp));
      else
         return Decimal.ToUInt64(this.m_Temp);
   }
}
开发者ID:.NET开发者,项目名称:System,代码行数:194,代码来源:Convert.ToDecimal

示例3: Main

public class Example
{
   public static void Main()
   {
      Temperature cold = new Temperature(-40);
      Temperature freezing = new Temperature(0);
      Temperature boiling = new Temperature(100);
      
      Console.WriteLine(Convert.ToDecimal(cold, null));
      Console.WriteLine(Convert.ToDecimal(freezing, null));
      Console.WriteLine(Convert.ToDecimal(boiling, null));
   }
}
开发者ID:.NET开发者,项目名称:System,代码行数:13,代码来源:Convert.ToDecimal

输出:

-40
0
100

示例4: foreach

ulong[] numbers = { UInt64.MinValue, 121, 12345, UInt64.MaxValue };
decimal result;

foreach (ulong number in numbers)
{
   result = Convert.ToDecimal(number);
   Console.WriteLine("Converted the UInt64 value {0} to {1}.",
                     number, result);
}
开发者ID:.NET开发者,项目名称:System,代码行数:9,代码来源:Convert.ToDecimal

输出:

Converted the UInt64 value 0 to 0.
Converted the UInt64 value 121 to 121.
Converted the UInt64 value 12345 to 12345.
Converted the UInt64 value 18446744073709551615 to 18446744073709551615.

示例5: foreach

uint[] numbers = { UInt32.MinValue, 121, 12345, UInt32.MaxValue };
decimal result;

foreach (uint number in numbers)
{
   result = Convert.ToDecimal(number);
   Console.WriteLine("Converted the UInt32 value {0} to {1}.",
                     number, result);
}
开发者ID:.NET开发者,项目名称:System,代码行数:9,代码来源:Convert.ToDecimal

输出:

Converted the UInt32 value 0 to 0.
Converted the UInt32 value 121 to 121.
Converted the UInt32 value 12345 to 12345.
Converted the UInt32 value 4294967295 to 4294967295.

示例6: foreach

ushort[] numbers = { UInt16.MinValue, 121, 12345, UInt16.MaxValue };
decimal result;

foreach (ushort number in numbers)
{
   result = Convert.ToDecimal(number);
   Console.WriteLine("Converted the UInt16 value {0} to {1}.",
                     number, result);
}
开发者ID:.NET开发者,项目名称:System,代码行数:9,代码来源:Convert.ToDecimal

输出:

Converted the UInt16 value 0 to 0.
Converted the UInt16 value 121 to 121.
Converted the UInt16 value 12345 to 12345.
Converted the UInt16 value 65535 to 65535.

示例7: ConvertStringDecimal

public void ConvertStringDecimal(string stringVal) {
    decimal decimalVal = 0;
    
    try {
        decimalVal = System.Convert.ToDecimal(stringVal);
        System.Console.WriteLine(
            "The string as a decimal is {0}.", decimalVal);
    } 
    catch (System.OverflowException){
        System.Console.WriteLine(
            "The conversion from string to decimal overflowed.");
    }
    catch (System.FormatException) {
        System.Console.WriteLine(
            "The string is not formatted as a decimal.");
    }
    catch (System.ArgumentNullException) {
        System.Console.WriteLine(
            "The string is null.");
    }

    // Decimal to string conversion will not overflow.
    stringVal = System.Convert.ToString(decimalVal);
    System.Console.WriteLine(
        "The decimal as a string is {0}.", stringVal);
}
开发者ID:.NET开发者,项目名称:System,代码行数:26,代码来源:Convert.ToDecimal

示例8: foreach

sbyte[] numbers = { SByte.MinValue, -23, 0, 17, SByte.MaxValue };
decimal result;

foreach (sbyte number in numbers)
{
   result = Convert.ToDecimal(number);
   Console.WriteLine("Converted the SByte value {0} to {1}.", number, result);
}
//       Converted the SByte value -128 to -128.
//       Converted the SByte value -23 to -23.
//       Converted the SByte value 0 to 0.
//       Converted the SByte value 17 to 17.
//       Converted the SByte value 127 to 127.
开发者ID:.NET开发者,项目名称:System,代码行数:13,代码来源:Convert.ToDecimal

示例9: foreach

object[] values = { true, 'a', 123, 1.764e32, "9.78", "1e-02",
                    1.67e03, "A100", "1,033.67", DateTime.Now,
                    Double.MaxValue };   
decimal result;

foreach (object value in values)
{
   try {
      result = Convert.ToDecimal(value);
      Console.WriteLine("Converted the {0} value {1} to {2}.",
                        value.GetType().Name, value, result);
   }                     
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is out of range of the Decimal type.",
                        value.GetType().Name, value);
   }                     
   catch (FormatException) {
      Console.WriteLine("The {0} value {1} is not recognized as a valid Decimal value.",
                        value.GetType().Name, value);
   }                     
   catch (InvalidCastException) {
      Console.WriteLine("Conversion of the {0} value {1} to a Decimal is not supported.",
                        value.GetType().Name, value);
   }                     
}
开发者ID:.NET开发者,项目名称:System,代码行数:25,代码来源:Convert.ToDecimal

输出:

Converted the Boolean value True to 1.
Conversion of the Char value a to a Decimal is not supported.
Converted the Int32 value 123 to 123.
The Double value 1.764E+32 is out of range of the Decimal type.
Converted the String value 9.78 to 9.78.
The String value 1e-02 is not recognized as a valid Decimal value.
Converted the Double value 1670 to 1670.
The String value A100 is not recognized as a valid Decimal value.
Converted the String value 1,033.67 to 1033.67.
Conversion of the DateTime value 10/15/2008 05:40:42 PM to a Decimal is not supported.
The Double value 1.79769313486232E+308 is out of range of the Decimal type.

示例10: foreach

float[] numbers = { Single.MinValue, -3e10f, -1093.54f, 0f, 1e-03f,
                    1034.23f, Single.MaxValue };
decimal result;

foreach (float number in numbers)
{
   try {
      result = Convert.ToDecimal(number);
      Console.WriteLine("Converted the Single value {0} to {1}.", number, result);
   }   
   catch (OverflowException) {
      Console.WriteLine("{0} is out of range of the Decimal type.", number);
   }
}
开发者ID:.NET开发者,项目名称:System,代码行数:14,代码来源:Convert.ToDecimal

输出:

-3.402823E+38 is out of range of the Decimal type.
Converted the Single value -3E+10 to -30000000000.
Converted the Single value -1093.54 to -1093.54.
Converted the Single value 0 to 0.
Converted the Single value 0.001 to 0.001.
Converted the Single value 1034.23 to 1034.23.
3.402823E+38 is out of range of the Decimal type.

示例11:

Console.WriteLine(Convert.ToDecimal(1234567500.12F));  // Displays 1234568000
Console.WriteLine(Convert.ToDecimal(1234568500.12F));  // Displays 1234568000

Console.WriteLine(Convert.ToDecimal(10.980365F));      // Displays 10.98036 
Console.WriteLine(Convert.ToDecimal(10.980355F));      // Displays 10.98036
开发者ID:.NET开发者,项目名称:System,代码行数:5,代码来源:Convert.ToDecimal

示例12: foreach

int[] numbers = { Int32.MinValue, -1000, 0, 1000, Int32.MaxValue };
decimal result;

foreach (int number in numbers)
{
   result = Convert.ToDecimal(number);
   Console.WriteLine("Converted the Int32 value {0} to the Decimal value {1}.",
                     number, result);
}
开发者ID:.NET开发者,项目名称:System,代码行数:9,代码来源:Convert.ToDecimal

输出:

Converted the Int32 value -2147483648 to the Decimal value -2147483648.
Converted the Int32 value -1000 to the Decimal value -1000.
Converted the Int32 value 0 to the Decimal value 0.
Converted the Int32 value 1000 to the Decimal value 1000.
Converted the Int32 value 2147483647 to the Decimal value 2147483647.

示例13: foreach

bool[] flags = { true, false };
decimal result;

foreach (bool flag in flags)
{
   result = Convert.ToDecimal(flag);
   Console.WriteLine("Converted {0} to {1}.", flag, result);
}
开发者ID:.NET开发者,项目名称:System,代码行数:8,代码来源:Convert.ToDecimal

输出:

Converted True to 1.
Converted False to 0.

示例14: ConvertByteDecimal

public void ConvertByteDecimal(byte byteVal) {
    decimal decimalVal;

    // Byte to decimal conversion will not overflow.
    decimalVal = System.Convert.ToDecimal(byteVal);
    System.Console.WriteLine("The byte as a decimal is {0}.",
        decimalVal);

    // Decimal to byte conversion can overflow.
    try {
        byteVal = System.Convert.ToByte(decimalVal);
        System.Console.WriteLine("The Decimal as a byte is {0}.",
            byteVal);
    }
    catch (System.OverflowException) {
        System.Console.WriteLine(
            "The decimal value is too large for a byte.");
    }
}
开发者ID:.NET开发者,项目名称:System,代码行数:19,代码来源:Convert.ToDecimal

示例15: ConvertCharDecimal

public void ConvertCharDecimal(char charVal) {
    Decimal decimalVal = 0;
    
    // Char to decimal conversion is not supported and will always
    // throw an InvalidCastException.
    try {
        decimalVal = System.Convert.ToDecimal(charVal);
    } 
    catch (System.InvalidCastException) {
        System.Console.WriteLine(
            "Char-to-Decimal conversion is not supported " +
            "by the .NET Framework.");
    }

    //Decimal to char conversion is also not supported.
    try {
        charVal = System.Convert.ToChar(decimalVal);
    } 
    catch (System.InvalidCastException) {
        System.Console.WriteLine(
            "Decimal-to-Char conversion is not supported " +
            "by the .NET Framework.");
    }
}
开发者ID:.NET开发者,项目名称:System,代码行数:24,代码来源:Convert.ToDecimal


注:本文中的System.Convert.ToDecimal方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。