Ruby отказывается делиться правильно

Многие попробовали, и многие приближаются. Можно хотеть читать статья Википедии, и [приблизительно 111] другие .

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

12
задан RyanScottLewis 19 September 2009 в 07:27
поделиться

2 ответа

Он выполняет целочисленное деление.

По сути, 25 - это целое число (целое число), поэтому оно равно 50, поэтому, когда вы делите одно на другое, получается другое целое число.

25 / 50 * 100 = 0.5 * 100 = 0 * 100 = 0

Лучший способ сделать это - сначала умножить, а затем разделить.

25 * 100 / 50 = 2500 / 50 = 50

Вы также можете явно использовать арифметику с плавающей запятой, указав десятичную точку, как в:

25.0 / 50.0 * 100 = 0.5 * 100 = 50
28
ответ дан 2 December 2019 в 04:02
поделиться

Поскольку вы делите целое число на целое, результат обрезается до целого числа (0,5 -> 0) перед умножением на 100.

Но это работает:

>> (25 / 50) * 100
=> 0
>> (25.0 / 50) * 100
=> 50.0
9
ответ дан 2 December 2019 в 04:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: