2016-12-20 1 views
0
<ul id="mylist"> 
    <li>my price:<span>29.95</span> &euro;</li> 
</ul> 

$(document).ready(function() { 
    $("#mylist li span").each(function() { 
     $(this).text(Number($(this).text()) * 1.03); 
    }); 
}); 

Ich versuche einen Preiswert zu aktualisieren, indem ich ihn mit 1.03 multipliziere. Der Wert sollte gerundet werden, sodass das Ergebnis dieses Beispiels 30,85 ist. Könnte mir bitte jemand helfen?Wie kann man den Wert in der Gewinnliste mit .toFixed (2) ändern und Punkt auf Komma setzen?

Antwort

1

Ich werde diese gliedern sich in drei Schritten:

  1. Runde unser Wert auf den Hundertstel von Math.round mit unseren Wert mit 100 multipliziert und dann durch 100 dividiert Dies ist ein einfacher Trick für richtige Ortsrundung.
  2. Konvertieren Sie unseren gerundeten Wert in eine Zeichenfolge, indem Sie "" an ihn anfügen.
  3. Verwenden Sie .replace(".",","), um den Punkt in ein Komma zu ändern.

JSFiddle: https://jsfiddle.net/vLxj8bfs/2/

$(document).ready(function() { 
    $("#mylist li span").each(function() { 
     var unrounded = Number($(this).text()) * 1.03; 
     var rounded = Math.round(unrounded * 100)/100; 
     var strRounded = (rounded + "").replace(".", ","); 
     $(this).text(strRounded); 
    }); 
}); 

Das ist wirklich in einer Zeile geschrieben werden könnte, aber zur Erklärung und zum besseren Lesbarkeit habe ich die Werte ein wenig nach unten gebrochen.

+0

Großartig, danke! Das ist noch viel einfacher für mich zu lesen :-) – Tekay

Verwandte Themen