2016-12-20 15 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); 
    }); 
}); 

Я пытаюсь обновить значение приза, умножив его на 1.03. Значение должно быть округлено так, чтобы результат этого примера составлял 30,85. Не мог бы кто-нибудь помочь мне?Как изменить значение в списке призов с .toFixed (2) и изменить точку на запятую?

ответ

1

Я разобью это на три этапа:

  1. Круглых наше значение в сотых место с помощью Math.round, умножая нашу ценность на 100, а затем разделив его на 100. Это простой трюк для надлежащее место-округление.
  2. Преобразуйте наше округленное значение в строку, добавив к ней "".
  3. Используйте .replace(".",","), чтобы изменить точку запятой.

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); 
    }); 
}); 

Это действительно может быть записано в одной строке, но для объяснения и читаемости, я сломал значение немного вниз.

+0

Отлично, спасибо! Это еще намного легче читать для меня :-) – Tekay