Start » Przykłady » Formatowanie kwot

Formatowanie kwot

Data dodania2010-03-21 Autoradmin

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:

  • precision - ile miejsc dziesiętnych pokazujemy
  • rounding - sposób zaokrąglenia (down - w dół , nearest - do najbliższej pełnej wartości, up - w góre i none - odcina nadmiar bez zaokrąglenia
  • decimalSeparatorFrom, decimalSeparatorTo - przekształcenie separatora dziesiętnego wejściowego (From) na wyjściowy (To)
  • thousandsSeparatorFrom, thousandsSeparatorTo - przekształecenie separatora tysięcy

 

Kod źródłowy
<?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>

Wypróbuj

numberformatter.swf

Kopiuj link do tej strony

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

Komentarze

Ten wpis nie posiada jeszcze żadnych komentarzy.



Wyszukiwarka

Zaloguj się




Nie masz konta? zarejestruj się »

Zapomniałem hasła

Tagi

Ostatnio na forum

Dodatki

blip