Nie działa mi zaokrąglanie do dwóch miejsc po przecinku. Normalnie wyświetla mi liczbę z wieloma cyframi po przecinku, a gdy użyję Math.random(x*100)/100 lub zamiast 100 dam większą liczbę, to i tak po przecinku pojawia się jedna cyfra. Napisałem również funkcję
function round(value, decimals){
return Number(Math.round(value + "e"+decimals)+"e-"+decimals);
}
i wynik jest taki sam, czyli jedna cyfra po przecinku. Dopiero użycie funkcji toFixed(2) działa prawidłowo. Jednakże chciałbym uzyskać to za pomocą Math.random, lecz nie wiem dlaczego nie działa.
Poniżej zamieszczam kod:
var wynik_div = document.getElementById('wynik');
function oblicz(){
var liczba = document.getElementById("liczba_ogłoszeń").value;
var upust = document.getElementById("subskrypcja");
if(liczba >= 1 && liczba <= 10){
if(upust.checked){
var cena = (liczba*1)-(liczba*0.20);
}else{
var cena = liczba*1;
}
}else if(liczba>=11 && liczba <= 50){
if(upust.checked){
var cena = (liczba*0.80) - (liczba*0.20);
} else {
var cena = liczba*0.80;
}
}else {
if(upust.checked){
var cena = (liczba*0.60)-(liczba*0.20);
} else {
var cena= liczba*0.60;
}
}
wynik_div.innerHTML = Math.round(cena*100)/100;
}