Talend BigDecimal division output Weird

Highlighted
Five Stars

Talend BigDecimal division output Weird

I have 2 BigDecimal Numbers. I am doing simple division: Number1/Number2. 

 

In talend: tMap: 80/8.52 = 9

but in excel: 

9.389671362

 

  The valid answer that I require is the Excel output. What the issue with BigDecimal division in Talend ?

post.PNG


Accepted Solutions
Fifteen Stars TRF
Fifteen Stars

Re: Talend BigDecimal division output Weird

Change the scale to 9 and add the rounding mode to the division, like in this example:

row59.num1.divide(row59.num2, 9, BigDecimal.ROUND_HALF_UP) 

The result is:

Starting job test at 18:01 23/05/2017.

[statistics] connecting to socket on port 3583
[statistics] connected
.----+----+-----------.
|     tLogRow_26      |
|=---+----+----------=|
|num1|num2|result     |
|=---+----+----------=|
|80.0|8.52|9.389671362|
'----+----+-----------'

[statistics] disconnected
Job test ended at 18:01 23/05/2017. [exit code=0]

Exactly what Excel gives you.

For this example, num1 and num2 are issued from a tFixedFlowInput:

Capture.PNG

And the result is computed in a tMap:

Capture.PNG

Hope this helps.


TRF

All Replies
Fifteen Stars TRF
Fifteen Stars

Re: Talend BigDecimal division output Weird

Change the scale to 9 and add the rounding mode to the division, like in this example:

row59.num1.divide(row59.num2, 9, BigDecimal.ROUND_HALF_UP) 

The result is:

Starting job test at 18:01 23/05/2017.

[statistics] connecting to socket on port 3583
[statistics] connected
.----+----+-----------.
|     tLogRow_26      |
|=---+----+----------=|
|num1|num2|result     |
|=---+----+----------=|
|80.0|8.52|9.389671362|
'----+----+-----------'

[statistics] disconnected
Job test ended at 18:01 23/05/2017. [exit code=0]

Exactly what Excel gives you.

For this example, num1 and num2 are issued from a tFixedFlowInput:

Capture.PNG

And the result is computed in a tMap:

Capture.PNG

Hope this helps.


TRF
Five Stars

Re: Talend BigDecimal division output Weird

Thanks a lot for your prompt help !!! It worked.

Cloud Free Trial

Try Talend Cloud free for 30 days.

Tutorial

Introduction to Talend Open Studio for Data Integration.

Definitive Guide to Data Integration

Practical steps to developing your data integration strategy.

Definitive Guide to Data Quality

Create systems and workflow to manage clean data ingestion and data transformation.