[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdeutils/kcalc
From:       Alberto Garcia Hierro <skyhusker () linuxlover ! org>
Date:       2004-12-01 20:50:22
Message-ID: 20041201205022.81C8F1B49C () office ! kde ! org
[Download RAW message or body]

CVS commit by hierro: 

Fixed display of amounts containing 'e' symbol.


  M +14 -6     kcalcdisplay.cpp   1.28


--- kdeutils/kcalc/kcalcdisplay.cpp  #1.27:1.28
@@ -349,13 +349,21 @@ void KCalcDisplay::setText(QString const
                 QString decimalSymbol = KGlobal::locale()->decimalSymbol();
                 QString thousandsSeparator = \
                KGlobal::locale()->thousandsSeparator();
-        
                 // Replace dot with locale decimal separator
                 localizedString.replace(QChar('.'),decimalSymbol);
         
                 // Insert the thousand separators
-                int i = localizedString.find(decimalSymbol) != -1? \
                localizedString.find(decimalSymbol)-1: localizedString.length()-1;
-                for(int j=1;i>0;i--,j++)
-                        if (j%3 == 0)
-                                localizedString.insert(i,thousandsSeparator);
+                int decimalSymbolPos = localizedString.find(decimalSymbol);
+                int eSymbolPos = localizedString.find('e');
+                
+                if (-1 == decimalSymbolPos)
+                    decimalSymbolPos = localizedString.length();
+                if (-1 == eSymbolPos)
+                    eSymbolPos = localizedString.length();
+                
+                int pos = QMIN((decimalSymbolPos - 1), (eSymbolPos-1));
+                
+                for(int index=1;pos>0;pos--,index++)
+                        if (index%3 == 0)
+                                localizedString.insert(pos,thousandsSeparator);
         }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic