Хранить деление чисел в десятичном результате 0 [дублировать]


1 принят

Это даст вам правильный результат:

decimal days = 0.00m;
days= 110m / 480m;

Объяснение: для представления десятичного значения «m» суффикс

 110 is Int32
 110m is Decimal

Как вы определили дни как десятичные, значения, используемые в вычислении, также должны быть десятичными. Надеюсь, это поможет понять представление ценности.

Как отметил @dumetrulo: 110 и 480 оба являются целыми числами, 110/480 после того, как целочисленное деление дает результат 0; этот результат затем неявно приводится к десятичной и остается 0.

C #, C #,

c#,c#,

0

Ответов: 1


1 принят

Это даст вам правильный результат:

decimal days = 0.00m;
days= 110m / 480m;

Объяснение: для представления десятичного значения «m» суффикс

 110 is Int32
 110m is Decimal

Как вы определили дни как десятичные, значения, используемые в вычислении, также должны быть десятичными. Надеюсь, это поможет понять представление ценности.

Как отметил @dumetrulo: 110 и 480 оба являются целыми числами, 110/480 после того, как целочисленное деление дает результат 0; этот результат затем неявно приводится к десятичной и остается 0.

C #, C #,
Похожие вопросы