c#文本框中的十进制数字,用于阻止打印datagridview

时间:2017-10-26 00:02:33

标签: c# printing type-conversion

嗨大家好,所以我有paytext和pricetext框来计算changetxt框中的变化,但每当我尝试打印付费金额3.75时,它会抛出错误输入字符串格式不正确这是代码。我尝试更改convert.todecimal但它抛出错误并且不应用a-b

private void button8_Click(object sender, EventArgs e)
{
    int a = Convert.ToInt32(paidtextbox.Text);
    int b = Convert.ToInt32(pricetxtbox.Text);
    int c = a - b;
    changetxtbox.Text = Convert.ToString(c);

    //printing
    printPreviewDialog1.Document = printDocument1;
    printPreviewDialog1.ShowDialog();
}

1 个答案:

答案 0 :(得分:1)

您有输入问题。整数不能存储十进制值。您应该使用decimal作为a,b和c的类型。有一个匹配的Convert.ToDecimal()方法,但您可能需要查看decimal.TryParse()的使用模式。它还允许您对无效的文本框数据进行错误处理。

https://msdn.microsoft.com/en-us/library/9zbda557(v=vs.110).aspx