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
?
答案 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
失败,则不会抛出异常,而是在失败时返回false
并true
什么时候成功。
更新:
如果您更喜欢使用可为空的小数,请执行以下操作:
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()
。