У меня есть общий тип T. Использование класс Marc Operator Я могу выполнять вычисления на нем.
Можно ли путем простых вычислений определить, является ли тип интегралом или nonintegral?
Возможно, есть лучшее решение? Я бы предпочел поддерживать любой возможный тип, поэтому я хотел бы предотвратить жесткое кодирование, типы которого являются интегральными/неинтегральными.
Фоновая информация
Ситуация, в которой я нахожусь, заключается в том, что я хочу передать double в T, но округлить до ближайшего значения T до значения double.
int a = (int)2.6 приводит к 2, в то время как я хочу, чтобы он привел его в 3, не зная тип (в данном случае int). Это также может быть double, и в этом случае я хочу, чтобы результат был 2.6.