2016-06-15 9 views
1

Ich habe diesen Code, der gut funktioniert, wenn es um Komma Geldplatz Wert kommt. Der Benutzer tippt ein und fügt automatisch ein Komma (12.345) hinzu. hier ist der Code:automatisch hinzufügen Centavos in Geldwert (12.345,00, 12.345,55) in Textbox asp.net von Benutzereingabe

<script type="text/javascript" language="javascript"> 

    function Comma(Num) { 
     Num += ''; 
     Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', ''); 
     Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', ''); 
     x = Num.split('.'); 
     x1 = x[0]; 
     x2 = x.length > 1 ? '.' + x[1] : ''; 
     var rgx = /(\d+)(\d{3})/; 
     while (rgx.test(x1)) 
      x1 = x1.replace(rgx, '$1' + ',' + '$2'); 
     return x1 + x2; 
    } 

</script> 

Aber was ich will ist geschehen ein .00 am Ende des Währungswert hinzuzufügen. (12,345.00) Irgendwelche Tricks oder Referenzen, die du teilen möchtest?

UPDATE typed in 1, two zeroes become visible. then i typed in another 1's, it goes after the zeroes

Antwort

0

x2 = x.length> 1? "." + x [1]: ''; -> x2 = x.Länge> 1? "." + x [1]: '.00';

function Comma(Num) { 
    while (Num.indexOf(',')>=0) 
     Num = Num.replace(',', ''); 
    x = Num.split('.'); 
    x1 = x[0]; 
    x2 = x.length > 1 ? '.' + (x[1]+'00').substring(0, 2) : '.00'; 
    var rgx = /(\d+)(\d{3})/; 
    while (rgx.test(x1)) 
     x1 = x1.replace(rgx, '$1' + ',' + '$2'); 
    return x1 + x2; 
} 
+0

bitte aktualisiert Sir siehe –

+0

x Ersetzen Sie [1] mit (x [1] + '00') substring (0, 2) zu handhaben alle Fälle: x2 = x.Länge> 1? "." + (x [1] + '00') Teilzeichenfolge (0, 2): '.00'; – merrais

+0

können Sie bitte Ihre Antwort Sir aktualisieren. bitte und danke –