2015-11-08 2 views
-1

Я хочу получить результат деления двух целых чисел. Например, целые числа 6 и 25. Если я делю целые числа, я получаю 6/25 = 0 в качестве ответа. Я хочу, чтобы результат был 6/25 = 0.24. Как мне это сделать?Цитата из целых чисел в C

+0

Какой формат вы хотите результат? – harold

+0

Не используйте __float__, вместо этого используйте __double__, который является таким же, как float, но может содержать более крупные и более точные значения. Необходимое пространство не является проблемой для современных компьютеров. – Marichyasana

ответ

0

Это так просто, как

#include <stdio.h> 

int main(int argc, char** argv) 
{ 
    printf("%.2f\n",(float)6/25); 
} 
+0

Оператор '. /' ", Как в' 6./25', также будет выполнять эту работу. :-) Не нужно кастинга. – alk

1

Сначала преобразуйте значения в с плавающей запятой. Например

result = (double)a/(double)b. 
1

Cast любой из них к поплавку

float result = a/(float)b; 
+0

Спасибо, это сработало! : D –

+0

Если это ответит на ваш вопрос, вы должны отметить его как принятый ответ, поэтому, если кто-то приходит с той же проблемой, может легко найти решение –

+0

Я предлагаю предпочитаю 'double' over' float'. Если вы делите большое целое на маленькое (например, 1), есть хорошая вероятность, что 'float' даст неточный результат. –

0

Вы можете умножить числитель на 1.0, если вы хотите, чтобы избежать отливку.

printf("%f\n", a * 1.0/b);