Prvi ste put ovdje? Pročitajte faq i registrirajte se.
x
  • Registracija
Dobrodošli, ovdje možete postavljati pitanja vezana za problematiku programiranja. Da bi postavili pitanje nije potrebna registracija :)

149 pitanja

181 odgovora

158 komentara

2,222 korisnika

Zadnje značke

Potvrđeni korisnik
HarrisEusebi...
Potvrđeni korisnik
AntoniettaFe...
Potvrđeni korisnik
WOBJacinto80...
Potvrđeni korisnik
TameraCarter...
Potvrđeni korisnik
AndreasHeine...

Zaokruživanje brojeva na 2 decimale sa zarezom u javascriptu

+7 glasova

Dakle, sličan problem kao i sa MySQL bazom sada imam i u javascriptu.

Imam dva inputa i treći u kojem se automatski računa razlika ali prvo mi računa na hrpu decimala a druga stvar je da ne računa sa zarezima, dakle

12,34 - 3,45 rezultira sa NaN ili sličnim

ali

12.34-3-45 izračuna točno

s obzirom da su korisnici navikli a i jednostavnije je upisivati sa zarezom (barem na hr tipkovnici) kakoto isto napraviti sa javascriptom.

Kasnije ću postati kod koji imam jer sad ne stignem.

Upit Lis 11, 2012 anonimno  
   

Odgovor 1

+3 glasova
 
Najbolji odgovor

Okljaštreni primjer koji radi sa razlikom iz jednog projekta koji sam radio:

<!DOCTYPE html>
<html>
    <head>
        <title>Test</title>
        <meta charset="utf-8">
        <script type="text/javascript" charset="utf-8" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
        <script type="text/javascript" charset="utf-8" type="text/javascript">
        window.jQuery || document.write('<script type="text/javascript" src="js/jquery/jquery-1.8.2.min.js"><\/script>');
        </script>
    </head>
    <body>
        <label for="price_tax">Ukupno</label>
        <input name="price_tax" id="price_tax" type="text" style="" value="" />
        <label for="tax">PDV</label>
        <input name="tax" id="tax" type="text" style="" value="" />
        <label for="price_no_tax">Ukupno - PDV</label>
        <input name="price_no_tax" id="price_no_tax" type="text" style="border: 1px solid #E21A22" value="" />

        <script type="text/javascript">
            $('input#price_tax').data('val',  $('input#price_tax').val() );
            $('input#tax').data('val',  $('input#tax').val() );
            $('input#price_tax').keyup(function() {
                if( $('input#price_tax').val() != $('input#price_tax').data('val') ){
                    $('input#price_tax').data('val',  $('input#price_tax').val() );
                    $('#price_no_tax').val(parseFloat(parseFloat($('input#price_tax').val().replace(',', '.')) - parseFloat($('input#tax').val().replace(',', '.'))).toFixed(2)).replace(',', '.');
                }
            });
            $('input#tax').keyup(function() {
                if( $('input#tax').val() != $('input#tax').data('val') ){
                    $('input#tax').data('val',  $('input#tax').val() );
                    $('#price_no_tax').val(parseFloat(parseFloat($('input#price_tax').val().replace(',', '.')) - parseFloat($('input#tax').val().replace(',', '.'))).toFixed(2)).replace(',', '.');
                }
            });
        </script>
    </body>
</html>

Link na testni primjer:
http://jsfiddle.net/ytgST/2/

Odgovoreno Lis 13, 2012 purifier (361)  
Ažurirano Lis 16, 2012 Predrag Mušić