如何在 C 中除以整数并得到浮点数
How to divide integers and get a float in C
我正在通过获取单词、句子和字母的数量来构建段落难度标签器....我正在尝试除以整数并得到浮点数 for example ((letter_counter / word_counter) * 100);
除法 (80 / 21) * 100 返回 400 而不是 380.9523,我做错了什么?感谢您的帮助!这是我的代码示例! letter_counter, word_counter, sentence_counter = int
// Putting all together
float L = ((letter_counter / word_counter) * 100);
printf("The L value = %f\n", L);
float S = ((float) sentence_counter / word_counter) * 100;
printf("The S value = %f\n", S);
int index = round(0.0588 * L - 0.296 * S - 15.8);
printf("Grade %i\n", index);
if (index < 1)
{
printf("Before Grade 1\n");
}
else if (index >= 16)
{
printf("Grade 16+\n");
}
else
{
printf("Grade %i\n", index);
}
您必须将 int
之一转换为 float
。例如:
float L = (((float)letter_counter / word_counter) * 100);
您可以使用 100.00
而不是 100
来告诉编译器将表达式计算为浮点表达式,如下所示:
int num1 = 80;
int num2 = 21;
float L = (num1 * 100.00) / num2; // 100 -> 100.00
结果:
380.952393
我正在通过获取单词、句子和字母的数量来构建段落难度标签器....我正在尝试除以整数并得到浮点数 for example ((letter_counter / word_counter) * 100);
除法 (80 / 21) * 100 返回 400 而不是 380.9523,我做错了什么?感谢您的帮助!这是我的代码示例! letter_counter, word_counter, sentence_counter = int
// Putting all together
float L = ((letter_counter / word_counter) * 100);
printf("The L value = %f\n", L);
float S = ((float) sentence_counter / word_counter) * 100;
printf("The S value = %f\n", S);
int index = round(0.0588 * L - 0.296 * S - 15.8);
printf("Grade %i\n", index);
if (index < 1)
{
printf("Before Grade 1\n");
}
else if (index >= 16)
{
printf("Grade 16+\n");
}
else
{
printf("Grade %i\n", index);
}
您必须将 int
之一转换为 float
。例如:
float L = (((float)letter_counter / word_counter) * 100);
您可以使用 100.00
而不是 100
来告诉编译器将表达式计算为浮点表达式,如下所示:
int num1 = 80;
int num2 = 21;
float L = (num1 * 100.00) / num2; // 100 -> 100.00
结果:
380.952393