Получение части от числа
- Войдите на сайт для отправки комментариев
Вс, 01/05/2016 - 12:16
Товарищи, помогите, пожалуйста.
Ниже код, с помощью которого хочу получить часть от целого, значение которой кладётся в переменную _tm, но по непонятным мне причинам, в _tm всегда уходит 0. Как с этим справиться?
int time = 90;
byte cycle = 1;
void Cycle(){
int tm = time;
int _tm = 0;
while (cycle <= 3){
switch(cycle){
case 1:
Serial.println(tm);
_tm = round(tm / 100 * 20);
Serial.println(_tm);
cycle++;
_tm = 0;
delay(10000);
break;
case 2:
Serial.println(tm);
_tm = round(tm / 100 * 50);
Serial.println(_tm);
cycle++;
_tm = 0;
delay(10000);
break;
case 3:
Serial.println(tm);
_tm = round(tm / 100 * 30);
Serial.println(_tm);
cycle++;
break;
}
}
cycle = 1;
}
void setup() {
Serial.begin(9600);
}
void loop() {
Cycle();
}
tm - целое. tm равно сначала 90. tm / 100 = 0; Чтобы получить что-то нужно double(tm)/100.
Возможно можно обойтись без float, но это надо знать смысл такого преобразования.
Спасибо!
Все заработало
Только не забывайте следить, чтобы не было переполнения при умножении.