2016-06-30 9 views
0

Wie erhalten 2 Dezimalzahlen mit Auto auf meine automatische Gesamtbetrag Felder abgerundet .val() Funktion in jQuery.erhalten 2 Dezimalzahlen mit Auto-Abrundung

heren mein Code

<script type="text/javascript"> 
    $(document).ready(function(){ 
    $('#AmountPaid, #OtherCharges, #Amount').on('input',function() { 
     var AmountPaid = parseFloat($('#AmountPaid').val()).toFixed(2); 
     var OtherCharges = parseFloat($('#OtherCharges').val()).toFixed(2); 
     var Amount = $('#Amount').val(parseFloat(AmountPaid) + parseFloat(OtherCharges)); 

    }); 
}); 
</script> 

I

AmountPaid = 63.48
OtherCharges= 10
Amount = 73.4799999999999

insgesamt haben sollte = seine 73,48

+0

warum Sie nicht wieder toFixed() verwenden? Ist irgendein Problem? – ankit

Antwort

0

Ich benutze diesen Trick: die Zahl mit 100 multiplizieren und dann von JavaScript verwenden round zu erhalten es zu einem interger, dann dividiere durch 100.

var Amount = $('#Amount').val(Math.round((parseFloat(AmountPaid) + parseFloat(OtherCharges)) * 100)/100).toFixed(2); 
+0

Hi receive 'Uncaught ReferenceError: Runde ist nicht definiert' – PHP4lite

+0

Entschuldigung. Brauchen Sie 'Math.round'. –

+0

Hallo, es funktioniert, aber es gibt einige Fehler auf der Konsole. 'Uncaught TypeError: $ (...). Val (...). ToFixed ist keine Funktion' &' Der angegebene Wert "NaN" ist keine gültige Zahl. Der Wert muss mit dem folgenden regulären Ausdruck übereinstimmen: -? (\ D + | \ d + \. \ D + | \. \ D +) ([eE] [- +]? \ D +)? 6panelco1_form: 351 Uncaught TypError: $ (...). Val (...). ToFixed ist keine Funktion (anonyme Funktion) @ panelco1_form: 351dispatch @ jquery-1.7.2.min.js: 3i @ jquery-1.7 .2.min.js: 3' – PHP4lite