<分区>
我需要在 C++ 中测试数字是否具有十进制值。我只想使用 <iostream>
没有其他图书馆,但我很好奇我使用的方法是否可以接受。如果您能提供任何帮助以找到更好的方法,那就太好了。
#include <iostream>
int main() {
double x, y;
std::cin >> x;
int z = x;
if (x - z != 0) {
std::cout << "It's a decimal.";
}
else {
std::cout << "It's not a decimal.";
}
return 0;
}
经过较长时间的思考,我想到了一个似乎更容易接受的新功能。
double TestForDecimal(double Num) {
double z;
while (Num > 1) {
if (Num > 101) /* Increments down to 1 more quickly */ {
Num = Num - 100;
}
else if (Num > 12) { Num = Num - 10; }
else { Num--; }
}
if (Num < 1 && Num > 0) {
std::cout << "This number has a decimal value" << std::endl;
return 1;
}
else {
std::cout << "Theres no decimal" << std::endl;
return 0;
}
}