大家好,我的控制台应用程序有一个小问题 我有一个文本文件 19862行
String[] lines= File.ReadAllLines("C:\\Users\\ThElitEyeS\\Desktop\\PHP\\name\\names.txt");
int c = lines.Length;
int i = 1;
foreach (String line in lines) {
long f = ((i++ / c) * 100);
Console.WriteLine(f + "%");
}
该值始终返回 0% 除了最后一个它的返回 100% 这就是我的问题,我希望能快速找到问题 :)
最佳答案
您正在做一个整数除法,它将被四舍五入。
例子:
i = 1 and c= 100
result is 0.01 -> rounded to 0
0 * 100 = 0
改为尝试
long f = ((i++ / (double) c) * 100);
强制进行浮点除法。
关于C# 控制台应用程序 % 数学总是返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11707331/