如何计算C#中数字的百分比?

如何计算C#中数字的百分比?,c#,C#,我是C#新手,我使用的是windows窗体。我想用简单的数学计算一个数字的百分比。例如: 计算80%的25% double result` = (80 / 100) * 25 结果=20 另一个例子:30的25%=7.5 然而,当我测试这种计算百分比的方法时,我在MessageBox.Show()中总是得到零结果 MessageBox.Show()始终显示零结果,我尝试了MessageBox.Show(result.ToString(“F”)和MessageBox.Show(result.To

我是C#新手,我使用的是windows窗体。我想用简单的数学计算一个数字的百分比。例如:

计算80%的25%

double result` = (80 / 100) * 25
结果=20

另一个例子:30的25%=7.5

然而,当我测试这种计算百分比的方法时,我在
MessageBox.Show()中总是得到零结果

MessageBox.Show()
始终显示零结果,我尝试了
MessageBox.Show(result.ToString(“F”)
MessageBox.Show(result.ToString(“0.00”)
,结果仍然为零。我不知道为什么我得到零。请帮我计算百分比


谢谢

您在计算中的数字类型为
int
,它们需要类型为
double
,否则结果将自动转换为
int

一旦其中一个输入的类型为
double
时,结果也将使用该类型,并且不会删除0后的数字

试试这个:

result = (80.0 / 100.0)* 25.0;

问题是整数除法

整数除法产生一个整数。如果要将结果转换为相应的双精度/浮点/十进制

result = ((double) 80 / 100)* 25;

使用下面的扩展方法

public static double Percent(this double number,int percent)
{
    //return ((double) 80         *       25)/100;
    return ((double)number * percent) / 100;
}
像这样使用

double result = 25.0.Percent(80);

您的代码中有两个问题。
首先是整数除法,由其他答案说明。
第二是你的数学逻辑,没人说

使用以下代码修复这两个问题

private void button1_Click(object sender, EventArgs e)
{
    double result;             
    result = (25f / 100f)* 80;
    MessageBox.Show(result.ToString()); //prints 20
}

请查整数除法。你会在这里找到答案。小问题。请计算除数或除数,“你的”数学逻辑有什么不同?
private void button1_Click(object sender, EventArgs e)
{
    double result;             
    result = (25f / 100f)* 80;
    MessageBox.Show(result.ToString()); //prints 20
}