Путать с поплавками и целыми - PullRequest
3 голосов
/ 17 апреля 2011

Они не лучшие друзья.

У меня есть это:

int svNumberOfObjects = 9;

и это:

int svColumns = 4;

и есть еще:

float numberOfRows = svNumberOfObjects/svColumns;

, который выходит с этим:

2,000000

Как я могу получить его, чтобы показать мне фактическое значение с плавающей запятой?

Ответы [ 3 ]

10 голосов
/ 17 апреля 2011
float numberOfRows = (float)svNumberOfObjects/svColumns;

Ваш код в настоящее время использует целое число деление, которое усекает результат до целого числа. Вместо этого вам нужно деление с плавающей запятой, а это означает, что вам нужно, чтобы один из операндов был значением с плавающей запятой; явное приведение выполняет это.

2 голосов
/ 17 апреля 2011
float numberOfRows = (float)svNumberOfObjects/svColumns;
0 голосов
/ 17 апреля 2011

Вы также можете попробовать

float numberOfRows = 1.0*svNumberOfObjects/svColumns;
...