Warum ist rfd_total > max_rfd
wahr? Ich verstehe nicht, wie rfd_total
größer als max_rfd
im folgenden Code sein kann:Warum ist eine Variable größer als die andere in diesem Code?
max_rfd = parseFloat(jQuery('#mx-rfd_'+order_id).val()).toFixed(2);
rfd_total = parseFloat(items_total+tax_total+shipping+allowances*1).toFixed(2);
if(rfd_total > max_rfd)
{ if(isNaN(rfd_total)) alert('rfd_total isNaN'); // not triggered
if(isNaN(max_rfd)) alert('max_rfd isNaN'); // not triggered
alert(rfd_total); // alerts 51.16
alert(max_rfd); // alerts 102.32
return false;
}
Holen Sie sich ein console.log (max_rfd, rdf_total) dort verwendet wird. Hol Chrome-Dev-Tools oder Firebug raus und sieh dir die Ausgabe an. Sie können ihre Werte sehen und ob sie Zeichenfolgen oder Zahlen sind;) –
für einen schnellen Test in der if-Anweisung tun, wenn ((rfd_total * 1)> (max_rfd * 1)) dann sollte es in eine Zahl konvertieren. Das sollte zu den gewünschten Ergebnissen führen. Wenn dies der Fall ist, wenden Sie die ursprünglichen Variablen als Ersatz für parseFloat an. EDIT: Griffin wies darauf hin, dass ToFixed() eine Zeichenfolge zurückgibt. Also multiplizieren Sie nach toFixed() mit 1, wenn Sie diese Methode verwenden möchten. –
@MikeDepies wie Sie sehen, ich hatte Zuflucht zu der * 1 Ansatz in der Einstellung rfd_total, aber wieder, was ich nicht verstehe ist, warum weder isNaN (rfd_total) NOR IsNaN (max_rfd) zurück wahr? – WallabyKid