Ignore:
Timestamp:
04/26/10 19:12:49 (14 years ago)
Author:
cbipsl
Message:

maj eccad V3.2

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ether_eccad/trunk/ECCAD_INTERFACE/WEB-INF/src/org/medias/eccad/modele/ResultatStat.java

    r68 r70  
    22 
    33import java.lang.Double; 
    4  
    5 import org.medias.eccad.helpers.LoggerPerso; 
    6 import org.medias.eccad.metier.statistique.ServiceStatistique; 
     4import java.math.BigDecimal; 
    75 
    86public class ResultatStat { 
     
    1917        } 
    2018 
    21         public ResultatStat(String min, String max, String moyenne, String ecart, String somme) { 
     19        public ResultatStat(String min, String max, String moyenne, String ecart, String somme, String type) { 
    2220                super(); 
    2321                 
     
    2826                somme = fixeDecimal(somme);*/ 
    2927                 
    30                  
    31                  
    3228                double minFloat = Double.parseDouble(min); 
    3329                double maxFloat = Double.parseDouble(max); 
    3430                double moyenneFloat = Double.parseDouble(moyenne);   
    3531                double ecartFloat = Double.parseDouble(ecart);  
    36                 double sommeFloat = Double.parseDouble(somme);  
     32                double sommeFloat = Double.parseDouble(somme); 
     33                // On arrondit le min, le max et la somme si on attend des valeurs entiÚres en sortie 
     34                if (type.equals("positive integer")) { 
     35                        minFloat = (new BigDecimal(Math.round(minFloat))).doubleValue(); 
     36                        maxFloat = (new BigDecimal(Math.round(maxFloat))).doubleValue(); 
     37                        sommeFloat = (new BigDecimal(Math.round(sommeFloat))).doubleValue(); 
     38                } 
    3739                 
    38                  
    39                  
    40                 min = (String)Double.toString(minFloat); 
    41                 max = (String)Double.toString(maxFloat); 
    42                 moyenne = (String)Double.toString(moyenneFloat); 
    43                 ecart = (String)Double.toString(ecartFloat); 
    44                 somme = (String)Double.toString(sommeFloat); 
     40                min = Double.toString(minFloat); 
     41                max = Double.toString(maxFloat); 
     42                moyenne = Double.toString(moyenneFloat); 
     43                ecart = Double.toString(ecartFloat); 
     44                somme = Double.toString(sommeFloat); 
    4545 
    46                 LoggerPerso.log(ResultatStat.class, LoggerPerso.DEBUG, "min : "+ min + fixeDecimal(moyenne)); 
     46//              LoggerPerso.log(ResultatStat.class, LoggerPerso.DEBUG, "min : "+ min + "   max : "+ max + " - fixeDecimal : "+fixeDecimal(moyenne)); 
    4747                //min = fixeDecimal(min.toString()); 
    4848                 
     
    6464         
    6565        private String fixeDecimal(String entree) { 
    66                 LoggerPerso.log(ServiceStatistique.class, LoggerPerso.DEBUG, "entree 1 "+entree); 
     66//              LoggerPerso.log(ServiceStatistique.class, LoggerPerso.DEBUG, "entree 1 "+entree); 
    6767                if (entree == null) 
    6868                        return "nc"; 
    6969                int index = entree.lastIndexOf("."); 
    7070                int indexE = entree.lastIndexOf("E"); 
    71                 LoggerPerso.log(ServiceStatistique.class, LoggerPerso.DEBUG, "entree  --lll-->2 "+indexE+"  "+index+"  "+entree.length()); 
    72                 if ( indexE == -1 && index != -1 && entree.length() >= index + 5) { 
    73                         LoggerPerso.log(ServiceStatistique.class, LoggerPerso.DEBUG, "cas 1 entree"); 
    74                         entree = entree.substring(0, entree.lastIndexOf(".")+5); 
     71//              LoggerPerso.log(ServiceStatistique.class, LoggerPerso.DEBUG, "entree  --lll-->2 "+indexE+"  "+index+"  "+entree.length()); 
     72//              if ( indexE == -1 && index != -1 && entree.length() >= index + 5) { 
     73//                      entree = entree.substring(0, entree.lastIndexOf(".")+5); 
     74//              } 
     75//              else if ( indexE != -1 && index != -1 && entree.length() >= index + 5) 
     76//              { 
     77//                      String aEntree = entree; 
     78//                      LoggerPerso.log(ServiceStatistique.class, LoggerPerso.DEBUG, "aEntree "+aEntree.lastIndexOf("E")+"  "+aEntree.length()+"    "+aEntree.lastIndexOf("E")+"  "+aEntree.length()); 
     79//                      aEntree = aEntree.substring(aEntree.lastIndexOf("E"), aEntree.lastIndexOf("E")+aEntree.length()-aEntree.lastIndexOf("E")); 
     80                        //entree = entree.substring(0, entree.lastIndexOf(".")+5)+aEntree; 
     81//                      entree = entree.substring(0, entree.substring(0 , entree.lastIndexOf("E")).length()) + aEntree; 
     82//              } 
     83                 
     84                // Le nombre a une virgule et pas de puissance de 10 (n=xx.xxx) 
     85                if (indexE == -1 && index != -1 && entree.length() >= index + 3) { 
     86                        entree = entree.substring(0,index+3); 
    7587                } 
    76                 else if ( indexE != -1 && index != -1 && entree.length() >= index + 5) 
    77                 { 
    78                         LoggerPerso.log(ServiceStatistique.class, LoggerPerso.DEBUG, "cas 2 entree"); 
    79                         String aEntree = entree; 
    80                         LoggerPerso.log(ServiceStatistique.class, LoggerPerso.DEBUG, "aEntree "+aEntree.lastIndexOf("E")+"  "+aEntree.length()+"    "+aEntree.lastIndexOf("E")+"  "+aEntree.length()); 
    81                         aEntree=aEntree.substring(aEntree.lastIndexOf("E"), aEntree.lastIndexOf("E")+aEntree.length()-aEntree.lastIndexOf("E")); 
    82                         entree = entree.substring(0, entree.lastIndexOf(".")+5)+aEntree; 
     88                // Le nombre a une virgule et une puissance de 10 (n=xx.xxxExx) 
     89                else if ( indexE != -1 && index != -1 && entree.substring(0,indexE).length() >= index + 3) { 
     90                        entree = entree.substring(0,index+3)+entree.substring(indexE); 
    8391                } 
    84                 else { 
    85                         LoggerPerso.log(ServiceStatistique.class, LoggerPerso.DEBUG, "entree= "+entree); 
    86                 } 
    87                  
     92//              LoggerPerso.log(ServiceStatistique.class, LoggerPerso.DEBUG, "entree "+entree); 
    8893                return entree; 
    8994        } 
Note: See TracChangeset for help on using the changeset viewer.