Почему 0.3 / 0.1 = 2 ???

 
void start() {
   double CurrentLot=0.3000;
   double Lot=0.1000;
   int i;
   i=CurrentLot/Lot;
   Print("0.3 / 0.1 = "+i);
}
Ну я же знаю, что точно получается целое число! Неужели нужно переменную i объявлять тоже типом double? По другому никак?
 
EvgeTrofi:
Ну я же знаю, что точно получается целое число! Неужели нужно переменную i объявлять тоже типом double? По другому никак?


Получается число типа 2.99999999, дробная часть откидывается. Можно так -  i=MathRound(CurrentLot/Lot);

 
Спасибо! Я просто уже измучился ошибку искать... А она вота! Бнин... слов не хватает
 
EvgeTrofi:
Ну я же знаю, что точно получается целое число! Неужели нужно переменную i объявлять тоже типом double? По другому никак?
void start() {
   double CurrentLot=0.3000;
   double Lot=0.1000;
   int i; // <<< переменная объявлена как целое, поэтому и получается 2
   i=CurrentLot/Lot;
   Print("0.3 / 0.1 = "+i);
}