Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что то с Convert.ToInt16, Нужна помощь 
:(
    Опции темы
Qhermit
Дата 17.4.2008, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.3.2008

Репутация: нет
Всего: нет



Даже не брав переменые а путо писать вот так:
int max = Convert.ToInt16(800/3600*100);
Переменая max получается равная "0", хотя должна быть "22"

Если берешь 
int max = Convert.ToInt16(20/10*100);  
Тогда получаешь "200" как нужно

Если 
max = Convert.ToInt16((25/10)*100);  
Должно быть "250" но получаешь "200"

Если 
max = Convert.ToInt16((20/40)*100);
Должно быть "50" но получаешь "0"   из этого получается что оно когда 20/40 посчитало округлило и после этого только домножило на 100

делал через double так:
double max2;
max2 = 25/ 10 * 100; (по разному)
max = Convert.ToInt16(max2);  
Эфект тот же что и без double с темиже значениями...

Вообще не понимаю почему оно так делает:(

Подскажите что мне делать, мне нужно получать количество процентов заполнения, значения примерные будут на примере таких: 800/3600*100, значения целые нужны например как тут 22 должно получится.


PM MAIL   Вверх
Rififi
Дата 17.4.2008, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: нет
Всего: 36



Qhermit
результат деления целых чисел усекается до целого.
поэтому 800/3600 = 0
и т.д.
как правильно:
800.0 / 3600.0
PM MAIL   Вверх
Optimus
Дата 17.4.2008, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 1.9.2007

Репутация: 1
Всего: 14



Почитайте вот это

P.S. если оба операнда целочисленные, то и деление целочисленное.
--------------------
"постановка задачи наполовину решает саму задачу"
PM MAIL   Вверх
Qhermit
Дата 17.4.2008, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.3.2008

Репутация: нет
Всего: нет



RififiOptimus,  спасибо большое =) 
Пока диплом сделаю столько узнаю...  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0652 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.