I work on various web services and I always use WSDL First.
JAXB generates a type type:
<xsd:simpleType name="CurrencyFormatTyp"> <xsd:restriction base="xsd:decimal"> <xsd:totalDigits value="13"/> <xsd:fractionDigits value="2"/> <xsd:minInclusive value="0.01"/> </xsd:restriction> </xsd:simpleType>
Java binding type BigDecimal (as mentioned in the JAXB specification).
When I then perform some simple arithmetic operation with values ββof type double (which are stored in the database and mapped to the type double by hibernation), I run into problems.
<ns5:charge>0.200000000000000011102230246251565404236316680908203125</ns5:charge> <ns5:addcharge>0.0360000000000000042188474935755948536098003387451171875</ns5:addcharge> <ns5:tax>0.047199999999999998900879205621095024980604648590087890625</ns5:tax> <ns5:totalextax>0.2360000000000000153210777398271602578461170196533203125</ns5:totalextax>
What will be the right way?
- Convert all my values ββto double (JAXB binding from
BigDecimal to double ) - Display hibernation
double to BigDecimal
and perform all my arithmetic operations in one type of objects.
Alex source share