Rounding Issue in Release 5.6.3
This is know issue we have in Publisher Release 5.6.3,
"Rounding Issue When Adding Decimal Numbers"
due to IEEE 754 floating point standards followed
i guess we have a working workaround for this
1.format-number function
2.round function
<?444444.70+1034343443404.69?> == > 1034343887849.3899
<?(round((( 444444.70+1034343443404.69))*100) div 100)?> == >1034343887849.39
<?format-number:( 444444.70+1034343443404.69);'D99'?> ==> 1034343887849.39
more info :)
Rounding floating-point numbers
* Round to Nearest – rounds to the nearest value; if the number falls midway it is rounded to the nearest value with an even (zero) least significant bit, which occurs 50% of the time (in IEEE 754r this mode is called roundTiesToEven to distinguish it from another round-to-nearest mode)
* Round toward 0 – directed rounding towards zero
* Round toward +∞ – directed rounding towards positive infinity
* Round toward −∞ – directed rounding towards negative infinity.
first one is the default.
"Rounding Issue When Adding Decimal Numbers"
due to IEEE 754 floating point standards followed
i guess we have a working workaround for this
1.format-number function
2.round function
<?444444.70+1034343443404.69?> == > 1034343887849.3899
<?(round((( 444444.70+1034343443404.69))*100) div 100)?> == >1034343887849.39
<?format-number:( 444444.70+1034343443404.69);'D99'?> ==> 1034343887849.39
more info :)
Rounding floating-point numbers
* Round to Nearest – rounds to the nearest value; if the number falls midway it is rounded to the nearest value with an even (zero) least significant bit, which occurs 50% of the time (in IEEE 754r this mode is called roundTiesToEven to distinguish it from another round-to-nearest mode)
* Round toward 0 – directed rounding towards zero
* Round toward +∞ – directed rounding towards positive infinity
* Round toward −∞ – directed rounding towards negative infinity.
first one is the default.
Comments