C# 将多个值计算为字符串类型

C# 将多个值计算为字符串类型,c#,C#,我有两个文本框,1个称为“mtb_NETPAIE02”,2个称为“mtb_TAXE02” 两个文本框中的格式为货币/货币(双精度)。我想修复此代码中的错误: if (double.Parse(mtb_NETPAIE02.Text) >= 100001 ) { mtb_TAXE02.Text = (double.Parse(mtb_NETPAIE02.Text) / 5000 * double.Parse("12") + double.

我有两个文本框,1个称为“mtb_NETPAIE02”,2个称为“mtb_TAXE02”
两个文本框中的格式为货币/货币(双精度)。我想修复此代码中的错误:

if (double.Parse(mtb_NETPAIE02.Text) >= 100001 )
{
    mtb_TAXE02.Text = (double.Parse(mtb_NETPAIE02.Text) / 5000 * double.Parse("12") 
                       + double.Parse("18").ToString("N2")).ToString();               
}
12(12,00)和18(18,00)是货币,但5000是整数


如何做到这一点?

首先,如果你在用钱工作,你不应该使用
double

其次,您应该使用十进制的文字,即带有
M
后缀

最后,您试图将
decimal.Parse(“18”)
的结果添加到其他数值,但首先要通过
ToString(“N2”)
将其转换为字符串。您应该将后者移到parens之外,以将整个计算结果转换为字符串:

if (decimal.Parse(mtb_NETPAIE02.Text) >= 100001M )
{
    // notice the `M` in 5000M
    mtb_TAXE02.Text = (decimal.Parse(mtb_NETPAIE02.Text) / 
        5000M * decimal.Parse("12") + decimal.Parse("18")).ToString("N2");
}

“我想修正这个代码上的错误”你想让我们猜吗?什么错误?非常感谢兄弟的帮助。。。。你能解释一下“M”是什么意思吗?“M”是十进制文字的意思。