Skip to main content
Announcements
SYSTEM MAINTENANCE: Thurs., Sept. 19, 1 AM ET, Platform will be unavailable for approx. 60 minutes.
cancel
Showing results for 
Search instead for 
Did you mean: 
RA6
Creator
Creator

Format value to two decimal places without rounding

Hello all,

 

I want to format the below value to two decimal places without rounding it.

 

Example:

 

ColumnAColumnBResult
171.4562.321169.135
25.4585610.542614.91596

 

For info, Column A, B, and result is of type String and this result datatype in my output to remain as String.

 

My expected output should be 169.13 and 14.91

 

I have tried with the two option below:

 

 

String.format("%.2f", (Double.parseDouble(ColumnA) - Double.parseDouble(ColumnB)))

 

 

String.format("%.2f", (new BigDecimal(Var.var2).subtract(new BigDecimal(Var.var3)))) 

 

 

But it is rounding the value to: 169.14 and 14.92

 

Also, i want to know what is the difference between Big Decimal and Double? What should i use in my situation?

 

Thank you for your help.

 

Best regards,

Asadasing

Labels (2)
1 Solution

Accepted Solutions
vboppudi
Partner - Creator III
Partner - Creator III

Hi,

 

Please try below.

 

0683p000009LwzN.png0683p000009LwzO.png

Regards,

View solution in original post

4 Replies
vboppudi
Partner - Creator III
Partner - Creator III

Hi,

 

Please try below.

 

0683p000009LwzN.png0683p000009LwzO.png

Regards,

RA6
Creator
Creator
Author

Hello Veeranjaneyulu,
Thank you for the solution. It works.
However, do you know the difference between bigdecimal and double?

How can you determine the usage of one of these?\

Regards,
Asadasing
RA6
Creator
Creator
Author

@vboppudi

Tried your solution and encountering a blocking error.
Please see link below:
https://community.talend.com/t5/Design-and-Development/Tmap-Error-NumberFormatException-For-input-st...

Thank you for your help.
manodwhb
Champion II
Champion II

@asadasing,try with below way and let me know,if you are still facing issue.

 

row3.newColumn2==null | row3.newColumn2.equals("")?"0"0683p000009MPcz.pngrow3.newColumn2.replace(",",".")).replace(" ","")