When I create a function float() (with locale parameter set to US) as follows: float("1,234,567.0123","US")and then do a print engine state, the numbers after the decimal point are missing

When I create a function float() (with locale parameter set to US) as follows: float("1,234,567.0123","US")and then do a print engine state, the numbers after the decimal point are missing

book

Article ID: KB0088090

calendar_today

Updated On:

Products Versions
TIBCO MessageBroker -
Not Applicable -

Description

Resolution:
This is because a float object can't take such a large floating numbers. That is, the number, "1,234,567.0123" exceeds float's MAX_VALUE. In this case, you should assign it to a double instead.

For instance, you should not assign a very big number to an integer where the value exceeds int's MAX_VALUE. In that case, you should assign it to a long instead.

In short, this is the expected behaviour of Java.
For example,

- float("1.00001") => 1.00001
- double("1,234,567.0123") => 1234567.0123

Issue/Introduction

When I create a function float() (with locale parameter set to US) as follows: float("1,234,567.0123","US")and then do a print engine state, the numbers after the decimal point are missing

Environment

Product: TIBCO MessageBroker Version: 4.1, 3.2.1.6 OS: All --------------------