如何计算C#中数字的百分比?
我是C#新手,我使用的是windows窗体。我想用简单的数学计算一个数字的百分比。例如: 计算80%的25%如何计算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
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
}