BigDecimal w GWT
Zawsze gdy testujemy jakiś framework wybieramy najprostszą drogę, co między innymi oznacza, iż korzystamy z takich typów danych jak:
Nie o tym jednak zamierzam pisać moim głównym tematem jest GWT (wersja 1.4.60), a w zasadzie obsługa typu
Reasumując: często jest tak, gdy sytuacja wydaje się być beznadziena z pomocą przychodzi Google, poprzez które odkrywamy, że społeczność Open Source przewidziała, że możemy natknąć się na dany problem. Stąd lepiej najpierw poszukać, niż zrobić po swojemu :)
String
i Integer
. Niemniej jednak przychodzi czas kiedy musimy zmierzyć się z obsługą co najmniej kilku typów danych m.in. z typem zmiennoprzecinkowym. Doświadczenie nauczyło mnie, że jeżeli chodzi o Javę to najlepszym typem zmiennoprzecinkowym do wykonywania operacji arytmetycznych jest BigDecimal
. Pewnie co niektórym nasuwa się pytanie - dlaczego nie double
. Moją odpowiedzią będzie przykład zaczerpniety ze strony http://epramono.blogspot.com:
Wynik na wyjściu:
Upss... co za niemiła niespodzianka :(Nie o tym jednak zamierzam pisać moim głównym tematem jest GWT (wersja 1.4.60), a w zasadzie obsługa typu
BigDecimal
w GWT, której najogólniej rzecz ujmując po prostu nie ma. To oczywiście poważny problem... ale jest na to rozwiązanie:- Wchodzimy na stronę: http://code.google.com/p/gwt-math/.
- Ściągamy dwie biblioteki
gwt-math-2.0.1.jar
,gwt-math-server-2.0.1.jar
i umieszczamy je wclasspath
naszego projektu. - W pliku
MyModule.gwt.xml
dodajemy sekcję: - Na tym koniec naszej pracy, możemy korzystać już z klas
java.math.BigDecimal
,java.math.BigInteger
.
Reasumując: często jest tak, gdy sytuacja wydaje się być beznadziena z pomocą przychodzi Google, poprzez które odkrywamy, że społeczność Open Source przewidziała, że możemy natknąć się na dany problem. Stąd lepiej najpierw poszukać, niż zrobić po swojemu :)
Komentarze