排队:
int d = Convert .ToInt32 ( TxtAmount.Text);
出现错误
输入字符串的格式不正确
我想转换TxtAmount.Text
内的数字。如果它是十进制的负数或没有-
的整数,然后再将其转换为字符串,因为ConvertNumbersToArabicAlphabet
参数是字符串。
int d = Convert .ToInt32 ( TxtAmount.Text);
ConvertNumbersToArabicAlphabet a = new ConvertNumbersToArabicAlphabet(d.ToString());
Label2.Text = a.GetNumberAr();
答案 0 :(得分:1)
我先检查输入是否为数字,然后使用Math.Abs
进行转换,以确保结果始终为正数:
int result = 0;
// Does text contain numbers only (and maybe a leading "-")?
if (Regex.IsMatch(TxtAmount.Text, @"^-?[0-9]+$"))
{
// Try to parse an int from it. If successful, convert it to
// a positive number in any case (= ignore the leading "-")
if (Int32.TryParse(TxtAmount.Text, out result))
result = Math.Abs(result);
}
// In all other cases, the result is 0
return result;
答案 1 :(得分:0)
这是因为Youse文本框为空。 检查天气你的文本框是否有值
if(!String.IsNullOrWhiteSpace(TxtAmount.Text))
{
int d = Convert .ToInt32 ( TxtAmount.Text);
}
答案 2 :(得分:0)
int d = Convert .ToInt ( TxtAmount.Text);
如果文本框中有整数值,则可以使用此选项。 如果文本区域只包含一个字符,那么它就不再起作用了。
尝试仅将要转换的相同类型数据的整数放入文本框
如果您想添加双号,那么您可以使用。
Double num = Convert .ToDouble ( TxtAmount.Text);
如果您的文本框为空,则可以确定您已进行验证或检查相同内容:
if(TxtAmount.Text==""||TxtAmount.Text=string.Empty)
{
TxtAmount.Text=0;
}
else
{
int d = Convert .ToInt ( TxtAmount.Text);
}
答案 3 :(得分:0)
如果您只想忽略负号,那么您可以执行字符串操作,如:
string value = TxtAmount.Text;
if (value.StartsWith("-"))
{
value = value.Substring(1);
}