C# 如何计算c中的百分比#
我试图计算给定长值的百分比。 下面的代码返回零。 如何计算c中的百分比#C# 如何计算c中的百分比#,c#,C#,我试图计算给定长值的百分比。 下面的代码返回零。 如何计算c中的百分比# 这里的fsize和tsize是一些长值。您可以尝试以下方法: double value = ((double)fsize / (double)tsize) * 100.0; 如果fsize为int且tsize为int,则除法也是int,0是正确答案。您需要将其转换为双精度,以获取正确的值。试试这个 var value = ((double)fsize / tsize) * 100; var percentage = Co
这里的fsize和tsize是一些长值。您可以尝试以下方法:
double value = ((double)fsize / (double)tsize) * 100.0;
如果fsize
为int
且tsize
为int
,则除法也是int
,0是正确答案。您需要将其转换为双精度,以获取正确的值。试试这个
var value = ((double)fsize / tsize) * 100;
var percentage = Convert.ToInt32(Math.Round(value, 0));
这是最好的方法
int percentage = (int)Math.Round(((double)current / (double)total) * 100);
fsize和tsize的值是什么?它们是什么类型的?当你设置断点并调试时,会发生什么?我相信你所有的操作数都是int/long类型,你在做整数运算。如果是
fsize
和tsize
整数,那么这是一个整数除法,也会产生一个int值。不是一个很好的重复目标。问题更多的是数据类型,而不是如何计算百分比。
int percentage = (int)Math.Round(((double)current / (double)total) * 100);