Почему компилятор решает, что число 2.3 является двойным, а не десятичным?C#

Место общения программистов C#
Ответить
Anonymous
 Почему компилятор решает, что число 2.3 является двойным, а не десятичным?

Сообщение Anonymous »

Почему компилятор решает, что версия 2.3 является двойной, поэтому этот код не компилируется:

Код: Выделить всё

decimal x;
x = 2.3; // Compilation error - can not convert double to decimal.
x = (decimal) 2.3 // O.k.
Почему компилятор не думает так:

Он хочет получить десятичное число, он дает мне значение, которое может быть десятичным, Итак, это десятичное число!

И почему это не вызывает ошибку компиляции:

Код: Выделить всё

short x;
x = 23; // O.K.
Кто сказал, что 23 — это не целое число?

Подробнее здесь: https://stackoverflow.com/questions/841 ... ot-decimal
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»