(我是c ++的初学者)。我已经有正确数量的不匹配,并且我的程序中的所有内容都可以正常工作,但是当我尝试实际计算它时,百分比会变为0.这是我的代码的一部分(特别是唯一给出麻烦的部分)。有人可能会向我解释我做错了什么吗?
if(input.length() >= input2.length())
{
percentage = (uiLevenshteinDistance(input,input2)/input.size())*100;
cout << "These sequences are " << percentage << "% similar." << endl;
}
else if(input2.length() >= input.length())
{
percentage = (uiLevenshteinDistance(input,input2)/input2.size())*100;
cout << "These sequences are " << percentage << "% similiar." << endl;
}
答案 0 :(得分:1)
确保分区中的分子或分母是双/浮点数,否则你总是从一个分数得到0,得到一个数字&lt; 1。
像(double)uiLevenshteinDistance(input,input2)/input.size())
这样的东西会。