我是C#的新手,我正在努力将我的文本框“textBoxAmount转换为小数。我可以在我出错的地方使用一些帮助。谢谢。
decimal dec_textBoxAmount;
dec_textBoxAmount = (decimal)int_textBoxValue / 100;
dec_textBoxAmount = Convert.ToDecimal(textBoxAmount.Text);
答案 0 :(得分:1)
我会做这样的事情:
Decimal value = -1;
if (decimal.TryParse(textBoxAmount.Text, out value))
{
//Do something with your value
}else
{
//something went wrong with the conversion - i.e. not in a recognisable format so
//display some kind of error message
}
但是,有各种旋转控件可以返回十进制类型并允许您设置最小/最大范围,并且它们会拒绝任何不良文本等。
干杯 西蒙
答案 1 :(得分:0)
试试这个:
if (Decimal.TryParse(textBoxAmount.Text, out returnValue)
{
//success
}
else
{
//failed
}
答案 2 :(得分:0)
尝试使用decimal.TryParse()
:
string txtBoxValue = textBoxAmount.Text ;
decimal amount ;
bool parsedOk = decimal.TryParse( txtBoxValue , out amount ) ;
如果转换成功并且parsedOk
具有该值,true
将为amount
。如果解析失败,parsedOk
将false
,amount
将设置为default(decimal)
(例如0m
)。
答案 3 :(得分:0)
decimal dec_textBoxAmount;
dec_textBoxAmount = (decimal)int_textBoxValue / 100;
if (Decimal.TryParse(textBoxAmount.Text, NumberStyles.None, CultureInfo.InvariantCulture, out dec_textBoxAmount))
{
//Conversion is successfull
}