Sto seguendo questo: http://docs.angularjs.org/api/ng.filter:currency Quando digito 1234.56 nel campo, l'output dovrebbe essere $ 1,234.56. Ma se inserisco l'input 1234, l'output è $ 1,234.00. Non voglio che il decimale e gli zeri appaiano. Come si può fare?Filtro di valuta AngularJS: posso rimuovere il valore .00 se non ci sono centesimi nella quantità?
Filtro di valuta AngularJS: posso rimuovere il valore .00 se non ci sono centesimi nella quantità?
risposta
aggiungere un nuovo filtro:
'use strict';
angular
.module('myApp')
.filter('myCurrency', ['$filter', function($filter) {
return function(input) {
input = parseFloat(input);
input = input.toFixed(input % 1 === 0 ? 0 : 2);
return '$' + input.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
};
}]);
Secondo lei:
<span>{{ '100' | myCurrency }}</span> <!-- Result: $100 -->
<span>{{ '100.05' | myCurrency }}</span> <!-- Result: $100.05 -->
<span>{{ '1000' | myCurrency }}</span> <!-- Result: $1,000 -->
<span>{{ '1000.05' | myCurrency }}</span> <!-- Result: $1,000.05 -->
anziché restituire il simbolo $ .. Come posso restituire £? ? –
ignora quel commento –
@OamPsy, basta pulire ed eliminare i tuoi commetns, plz – azerafati
preferisco questa risposta in quanto mantiene le virgole per separare le migliaia:
IMPORTANTE ... la risposta collegata qui mostra che questa funzione è ora inclusa in AngularJs, quindi non devi scrivere alcun codice personalizzato. – ClearCloud8
Questo non risponde alla domanda. La domanda in particolare chiede di mostrare centesimi a meno che i centesimi siano ".00". – Ryan
Questo non risponde alla domanda come ha detto Ryan. –
Se vuoi qualcosa di veloce e sporco, è possibile impostare il secondo parametro al filtro in quanto tale, al fine di innescare due cifre decimali quando ci sono, infatti, centesimi a essere mostrato:
{{amount | currency:undefined:2*(amount % 1 !== 0)}}
avvertimento rapida è che questo funziona solo approssimativamente fino al 10^14 poiché una perdita di precisione in virgola mobile causerà amount % 1
per restituire 0
.
una sintassi alternativa, che funziona più o meno allo stesso modo, ma è un po 'meno comprensibile è 2*!!(amount % 1)
- 1. filtro data angularjs non formattare il mio valore JSON
- 2. Regex - Strip non numerico e rimuovere eventuali centesimi
- 3. iOS - Mostra valuta senza centesimi utilizzando NSNumberFormatter
- 4. Utilizzo del filtro di valuta degli angoli con un numero intero di centesimi
- 5. Valore datetime errato MySQL: '0000-00-00 00:00:00'
- 6. Azure: non ci sono abbonamenti nella directory
- 7. filtro Angularjs non nullo
- 8. 0000-00-00 00:00:00 inserito come MySQL DateTime
- 9. # 1292 - Valore data errato: '0000-00-00'
- 10. MySql che seleziona il valore predefinito se non ci sono risultati?
- 11. Come rimuovere un argomento quando non ci sono abbonati?
- 12. Impossibile convertire '0000-00-00 00:00:00' a TIMESTAMP
- 13. AngularJS - $ filtro non è definito
- 14. Come si spiega il risultato per un nuovo \ DateTime ('0000-00-00 00:00:00')?
- 15. Verificare il valore se presente nella colonna
- 16. Come sono stati implementati "diecimila centesimi"?
- 17. Se ci sono "problemi noti" perché rilasciare?
- 18. Come posso rendere una query MySQL SUM restituita zero anziché null se non ci sono record?
- 19. I nuovi numeri di build autogenerati Delphi XE2 sono collegati a 1.1.2000 00:00:00?
- 20. Perché uniq! return nil se non ci sono duplicati
- 21. Un'altra clausola WHERE se non ci sono risultati
- 22. Interruzione di riga quando non ci sono dati in ggplot2
- 23. simbolo valuta non visualizza nella finestra di console
- 24. Modello Angularjs Valore predefinito se Binding Null/Undefined (With Filter)
- 25. Jquery Timepicker non aggiorna il modello nella direttiva angularjs
- 26. Come posso ottenere il preprocessore gcc per verificare se un'espressione valuta un valore o nulla?
- 27. LINQ: cosa restituisce All() se non ci sono elementi?
- 28. Rimuovere decimali in una valuta
- 29. Perché il filtro valuta AngularJS formatta i numeri negativi con parentesi?
- 30. AngularJS valuta $ rootScope variabile nel modello direttiva
È possibile utilizzare un filtro avanzato moneta: https://github.com/Zmetser/angular-currency-filter – Oliver
Eventuali duplicati di [Rimozione dei decimali/centesimi del filtro di valuta AngularJS] (http://stackoverflow.com/questions/14782439/removing-angularjs-currency-filter-decimal-cents) – azerafati