2016-01-27 14 views
5

Mam następujące numery wyjściowe z cenami produktów:Okrągły się numer z dziesiętnych

<span class="amount">77.08</span> 
<span class="amount">18.18</span> 
<span class="amount">20.25</span> 

chcę zaokrąglić je zawsze bez względu na to, jaką cenę jest, więc wynik w tym przypadku byłoby:

<span class="amount">78</span> 
<span class="amount">19</span> 
<span class="amount">21</span> 

próbowałem z tego kodu, ale po prostu usuwa cały numer:

jQuery('.amount').each(function() { 
    jQuery(this).html(Math.round(parseFloat(jQuery(this).html()))); 
}); 

Każdy pomysł, gdzie jest problem?

Odpowiedz

9

Zastosowanie Math.ceil() zamiast Math.round():

jQuery(this).html(Math.ceil(parseFloat(jQuery(this).html()))); 

Example fiddle

Należy również pamiętać, że można zapewnić funkcję html() uporządkować kod trochę:

$(this).html(function(i, html) { 
    return Math.ceil(parseFloat(html))); 
}); 
+0

jest możliwe aby użyć to, jeśli 'span' ma walutę wewnętrzną w następujący sposób:' € 77,08 '? – codemaker

+0

Nie, ponieważ w tym przypadku 'parseFloat()' zwróci 'NaN'. Jeśli istnieje symbol waluty poprzedzający wartość, którą musisz usunąć, spróbuj 'parseFloat (html.substr (1));' –