Im пишу приложение, которое автоматически добавляет столбцы в div. (Divs внутри Div). Проблема связана с нечетными ширинами столбцов шара, такими как 6. 6 не может разделить на 100%, поэтому мое решение заключалось в том, чтобы найти остаток после десятичной дроби и добавить его в последний столбец.Расчет точной ширины процента
По какой-то причине, когда я вычислить остаток это 0,3999999999999915 вместо 0,4
Вот мой JQuery
var numCol = $('.column').length,
colWid = Math.floor((100/numCol) * 10)/10,
numRem = 100 - (colWid * numCol);
$('.column').width(colWid + '%');
$('.column:last-child').width(colWid + numRem + "%");
alert(numRem);
Должен ли я использовать Math.round? Я беспокоюсь, что это может вызвать некоторые проблемы позже.
решаемые с
var numCol = $('.column').length,
colWid = Math.floor((100/numCol) * 1000)/1000,
numRem = (100 - (colWid * numCol)).toFixed(3);
$('.column').width(colWid + '%');
$('.column:last-child').width(Number(numRem)+ colWid +'%');
См: http://stackoverflow.com/questions/588004/is-javascripts-floating-point-math-broken –