Невозможно преобразовать null в ‘float’, потому что это ненулевой тип значения

#html #razor

#HTML #razor

Вопрос:

Может кто-нибудь сказать мне, что там не так? Поскольку он выдает ошибку «Невозможно преобразовать null в ‘float’, потому что это ненулевой тип значения»

 @model float

<div class="progress-bar">
<div class="progress-green-bar" style="width: @string.Format("{0}", (int?)(Model / 100.0f * 400));">
</div>
<div class="progress-bar-percent-text" style="text-align: center; color: black; font-size: 20px; position: absolute; top: 0; left: 0; right: 0; bottom: 0;">
    @((int?)(Model))%
</div>
</div>
  

Ответ №1:

NULL означает, что переменной вообще нет, поэтому вы не можете преобразовать то, чего не существует. Нет ничего, что можно было бы преобразовать.

Комментарии:

1. Когда я отлаживаю модель == 0, а не null

2. Но вы использовали int? , что означает, что вы разрешили переменной быть nulltype. Сделайте четкое объявление — установите, например, «0».