Объясните странное поведение операций с числами с плавающей точкой.
Мне надо в цикле производить увеличение целой части исходного числа на 1. Если, например, число от 11 до 15, то десятичная часть через определенный шаг цикла стает больше исходной. Пример:
var numsList = [];
var num = 12.001;
for (var i = 0; i <= 5; i++) {
numsList.push(num++);
}
alert(numsList);
В пример, числа нормально увеличиваются до 15.001, затем получаем 16.000999999999998 и т.д.
Надо чтобы десятичная часть оставалась постоянной. Можно ли как-то решить проблему?