Как определить, является ли десятичное или двойное значение целым?Как определить, является ли десятичное/двойное число целым?
Например:
decimal d = 5.0; // Would be true
decimal f = 5.5; // Would be false
или
double d = 5.0; // Would be true
double f = 5.5; // Would be false
Поэтому я хотел бы знать, что это так, что я могу определить программным способом, если я хочу, чтобы вывести значение с помощью .ToString("N0")
или .ToString("N2")
. Если значение десятичной точки отсутствует, то я не хочу это показывать.
Это работает, когда число начинается как целое число, но не обязательно, когда число является результатом некоторых плавающей точки вычислений. Как насчет чего-то вроде «(d% 1)
Жаль, что лучший ответ в этом потоке - комментарий, а не принятый ответ. Хороший Адриан. – starskythehutch
Ответ, данный @MarkRushakoff, не подходит для ввода типа '2.719601835756618E9', который является двойным –