对于字符串,我可以使用ToString。十进制用什么?

时间:2013-12-12 04:54:36

标签: c# .net type-conversion

String ItemName=txtItemName.Text.ToString();
String ItemSpecification=txtItemSpecification.Text.ToString ();
String Category=cmbCategory.SelectedIndex .ToString();
String UnitOfMeasurement=cmbUnitOfMeasurement .SelectedIndex .ToString ();
Decimal Reorderlevel = txtReorderLevel.Text.();
Decimal LifeOfSpan=0;

String NeedApproval=rblNeedApprovalOrNotdx.SelectedItem.Value.ToString();
String Description=MemoDescription.Text.ToString ();

对于string,我可以使用ToString获取值。我怎样才能获得decimal

4 个答案:

答案 0 :(得分:0)

使用Convert.ToDecimal()方法将字符串转换为十进制。

以下代码将值打印为1200.00。

var convertDecimal = Convert.ToDecimal("1200.00");

如果是文化问题,请尝试使用此版本,该版本根本不应取决于您的语言环境:

decimal d = decimal.Parse("1200.00", CultureInfo.InvariantCulture);
Console.WriteLine(d.ToString(CultureInfo.InvariantCulture));

我一直倾向于使用Double.TryParse方法,因为它会在不必担心异常的情况下吐出成功或失败的转换。

string value;
double number;

value = Double.MinValue.ToString();
if (Double.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("{0} is outside the range of a Double.", 
                     value);

答案 1 :(得分:0)

使用Decimal.TryParse(),如下所示:

decimal Reorderlevel;
if (Decimal.TryParse(UnitOfMeasurement, out Reorderlevel))
{
    // Conversion from string to decimal succeeded

}
else
{
    // Conversion failed

}

  

注意:TryParse()如果尝试从string转换为decimal失败,则不会抛出异常,而是在失败时返回falsetrue什么时候成功。


更新:

如果您更喜欢使用可为空的小数,请执行以下操作:

decimal tempValue;
decimal? Reorderlevel = Decimal.TryParse(UnitOfMeasurement, out tmpvalue) ?
              tmpvalue : (decimal?)null;

然后你可以在使用之前检查Reorderlevel是否有值,如下所示:

if(Reorderlevel.HasValue)
{
    // Do something with reorder level value here

}

答案 2 :(得分:0)

使用Convert.ToDecimal()或Decimal.TryParse()

答案 3 :(得分:0)

您可以使用System命名空间中的方法Convert.ToDecimal()