Skip to contentMethod: parseDetail(String, String, String)
      1: package util.fractionStyles;
2: 
3: import util.Fraction;
4: 
5: import java.math.BigInteger;
6: import java.util.Objects;
7: 
8: /**
9:  * Singleton, welcher den Fraction-Styl Science repräsentiert. Z.B. irgendwas mit E
10:  */
11: public final class Science implements FractionStyle {
12: 
13:     private static Science instance;
14: 
15:     private Science() {
16:         // Singleton
17:     }
18: 
19:     /**
20:      * Singletonklasse.
21:      * @return das Singletonobjekt der Klasse.
22:      */
23:     public static Science getInstance() {
24:         if (Objects.isNull(Science.instance)) {
25:             Science.instance = new Science();
26:         }
27:         return Science.instance;
28:     }
29: 
30: 
31:     @Override
32:     public Fraction parseDetail(final String fractionAsString, final String frontPart, final String rearPart) {
33:•        if (rearPart.substring(0, 1).equals("-")) {
34:             return Fraction
35:                     .create(new BigInteger(frontPart), BigInteger.TEN.pow(Integer.parseInt(rearPart.substring(1))));
36:         } else {
37:             return Fraction.create(
38:                     new BigInteger(frontPart).multiply(BigInteger.TEN.pow(Integer.parseInt(rearPart))),
39:                     BigInteger.ONE);
40:         }
41:     }
42: }