В отличие от реального мира, компьютеры воспринимают математические операции немного по-другому, хотя мы не понимаем, почему они ведут себя так.
1.) Почему они ведут себя какthis?
Обратите внимание, что целые числа являются целыми числами, а переменные типа integer могут хранить только целые числа и не могут хранить или распознавать десятичные числа.когда вы говорите 5/100, и 5, и 100 являются целочисленными литералами для компьютеров, и это называется целочисленное деление .Результат должен быть 0,05, но , так как это целочисленное деление, результатом также будет целое число , и, как я сказал, целые числа не могут хранить значения десятичной точки, конечная часть после "."(десятичная точка) полностью игнорируется и, следовательно, результат равен 0 .
Если добавить к этому больше, хотя вы конвертируете результат в удвоение, это не имеет никакого значения, потому что перед нимфактически конвертируется в удвоение, результат уже равен 0, и получается, что целое число 0 преобразуется в удвоение, что в итоге приводит к 0,0 .
2.) Как получить желаемый результат?*
Другие ответы очень хорошо объясняют решение, поэтому я прошу вас сослаться на эти ответы, а не заново изобретать колесо для вас.
Надеюсь, это поможет.