我想做的事情在Python中看起来像这样
(其中n是float / double):

def check_int(n):
    if not isinstance(n, numbers.Integral):
        raise TypeError()


由于C / C ++具有强壮的类型,因此哪种转换和比较魔术最适合此目的?

我最好想知道它是如何在C中完成的。

最佳答案

使用floor

#include <cmath>

if (floor(n) == n)
    // n is an integer (mathematically speaking)

关于c++ - 检查number是否为C/C++中的整数(无scanf/gets/etc),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51332629/

10-12 16:25