2010-03-21
admin
Tagi: NumberFormatter, formatowanie, kwoty, pieniądze
Poziom trudności: Podstawowy
Jeśli musimy wyświetlić kwoty to zawsze chcemy, aby grosze również były wyświetlane nawet, jeśli kwota jest bez groszy. Nie można wtedy wyświetlić kwoty zaokrąglonej do 2 miejsc dziesiętnych, bo w przypadku pełnej kwoty grosze zostaną obcięte i nie pojawią się.
Do tego celu służy obiekt NumberFormatter służący do formatowania liczb. Podstawowe parametry to:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()"> <mx:Script> <![CDATA[ import mx.formatters.NumberBaseRoundType; import mx.formatters.NumberFormatter; private function init():void { var vat:Number = 1.22; var netto:Number = 99.90; var brutto:Number = netto*vat; var formatter:NumberFormatter = new NumberFormatter(); formatter.precision = 2; // ustawiamy dokładność: 2 miejsca dziesiętne formatter.rounding = NumberBaseRoundType.NEAREST; // zaokrąglamy do najbliższej pełnej wartości formatter.decimalSeparatorFrom = "."; // zmiana separatora formatter.decimalSeparatorTo = ","; // z '.' na ',' formatter.thousandsSeparatorFrom = ","; // aby uniknąć konfliktu z separatorem dziesiętnym formatter.thousandsSeparatorTo = " "; // zamieniamy ',' na ' ' (spacja) out.text = brutto.toString(); // wyświetlamy niesformatowaną liczbę outf.text = formatter.format(brutto); // wyświetlamy sformatowany tekst } ]]> </mx:Script> <mx:VBox> <mx:HBox> <mx:Label text="Wartość"/> <mx:Label text="" id="out" fontWeight="bold"/> </mx:HBox> <mx:HBox> <mx:Label text="Text sformatowany"/> <mx:Label text="" id="outf" fontWeight="bold"/> </mx:HBox> </mx:VBox> </mx:Application>
Jeżeli chcesz przesłać znajomemu link do tej strony lub wkleić go na swoim blogu lub stronie, możesz poniżej skopiować go w odpowiednim formacie
Wyszukiwarka
Zaloguj się
Tagi
Ostatnio na forum
Dodatki