Я загружаю числовые значения до 2 знаков после запятой, используя Javascript. Все ценности выглядят нормально, за исключением 299,90 фунтов стерлингов и 499,90 фунтов стерлингов, что составляет 299,9 фунтов стерлингов и 499,9 фунтов стерлингов
Текущий код:
//ROUNDING FUNCTION
function round(num, decimals) {
return Math.round(num * Math.pow(10, decimals)) / Math.pow(10, decimals);
}
//LOADING VALUES - Line cost variable is £49.99/£29.99 * 10
jQuery(".content").html("£" + round(lineCost, 2));
То, что я пробовал:
jQuery(".content").html(parseFloat(lineCost * 100) / 100).toFixed(2);
jQuery(".content").html(Number(lineCost).toFixed(2));
Есть идеи?
Благодарю.
Вы можете попробовать с toFixed
метода toFixed
для значения float
/integer
:
var value = 0.127456;
value.toFixed(2);
Вывод:
0.13
В твоем случае:
jQuery(".content").html("£" + lineCost.toFixed(2));
Если lineCost
является строкой, проанализируйте ее для float:
jQuery(".content").html("£" + parseFloat(lineCost).toFixed(2));
Вы слишком усложняете это.
Это просто требует
parseFloat(lineCost).toFixed(2);
На самом деле округление средства для преобразования числа, как 10.5
до 11
или 12.49
до 12
, так что вы не должны округлять число, если вы хотите использовать float
с десятичными числами, вместо этого вы должны просто использовать что - то вроде этого:
var lineCost = 12.5;
parseFloat(lineCost).toFixed(2);
jQuery(".content").html(Number(lineCost).toFixed(2));
должно сработать.