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