gpt4 book ai didi

c++ - 在打印之前检查 float 是否为偶数

转载 作者:太空宇宙 更新时间:2023-11-04 15:29:51 25 4
gpt4 key购买 nike

我有一个 float,其值如下:0.012447,我想重新调整 0.0 - 1.0 和用它来显示百分比,但我只想显示偶数值,例如... 12%、14%、16%、...

像这样:

float percent = ....
int value = percent * 100;

if(value == 12 || value == 14 || value == 16 .....){
printf("Result: = %f\n", percent);
}

如果有一种不使用 percent * 10 和多个 ifs 的简单方法,我想要示例

最佳答案

作为@salcc 回答的补充,这可能接近您的要求;如果 value 是偶数,则有条件地打印它。

#include <cmath>
#include <iostream>

int main() {
for(float percent = 0.f; percent <= 1.f; percent += 1.f / 47.f) {
int value = static_cast<int>(std::round(percent * 100.f));
if(value % 2 == 0) { // Is it even? If so, print it.
std::cout << "Result: = " << value << "\n";
}
}
}

这种方法真正糟糕的是它可能会在输出中产生间隙。上面创建了这个输出:

Result: = 0
Result: = 2
Result: = 4
Result: = 6
Result: = 26
Result: = 28
Result: = 30
Result: = 32
Result: = 34
Result: = 36
Result: = 38
Result: = 40
Result: = 60
Result: = 62
Result: = 64
Result: = 66
Result: = 68
Result: = 70
Result: = 72
Result: = 74
Result: = 94
Result: = 96
Result: = 98
Result: = 100

关于c++ - 在打印之前检查 float 是否为偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57418107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com