angularjs - money - angular round currency



Input decimale AngularJS: cambia virgola a punto (4)

Sto usando il FCSA Number per gestire l'input decimale in AngularJS.

Se utilizzo l'opzione maxDecimals , funziona quasi come previsto. Per due decimali, gli input come "100.333" vengono trasformati in "100.33".

Nella mia regione, la virgola viene usata come separatore decimale, ma l'input sul mio sito web dovrebbe usare il punto come separatore decimale, come fa questo plugin. Va bene. Tuttavia, vorrei che l'input come "100,33" sia convertito in "100,33".

Come lo posso fare?

https://src-bin.com


Answer #1

Aggiungi le tue impostazioni locali corrispondenti:

<script type="application/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular-i18n/1.5.0/angular-locale_en-us.min.js"></script>

Puoi controllare l'elenco delle localizzazioni disponibili qui: https://cdnjs.com/libraries/angular-i18n


Answer #2

Hai solo bisogno di usare il filtro del number angolare e modificare il separatore di default angolare e i caratteri di gruppo.

app.run(["$locale", function ($locale) {
    $locale.NUMBER_FORMATS.GROUP_SEP = " ";
    $locale.NUMBER_FORMATS.DECIMAL_SEP = ".";
}]);

Quindi nel tuo HTML:

<p>{{ the_number | number:0 }}</p>


Answer #3

Più breve:

app.filter('commaToDecimal', function(){
    return function(value) {
        return value ? parseFloat(value).toFixed(2).toString().replace('.', ',') : null;
    };
});

Answer #4

Soluzione:

.filter('dot2comma', [
  function() {
    return function(value) {
      return value.toString().replace(/\./g,',');
    };
  }]);




angularjs