Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
See why IDC MarketScape names Qlik a 2025 Leader! Read more
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

How to Convert string field to Decimal

Hi Folks,

 

I want to do some sum operation on the  field called CHG_AMT. 

 

I am executing below logic,

row1.CHG_CLASS == "OCC" &&
(row1.CHG_DESC_1 == "Late Payment Charge" ||
row1.CHG_DESC_1 == "Late Charge on Past Due Balances" ||
row1.CHG_DESC_1 == "Late Fee" ||
row1.CHG_DESC_1 == "Finance Charge" ||
row1.CHG_DESC_1 == "Late Payment Interest" ||
row1.CHG_DESC_1 == "Late payment charge on unpaid balance") ?
sum(row1.CHG_AMT) : 0

 

The error I am facing is with data type of CHG_AMT in  the input.

 

So how do I convert this to Decimal and do Sum operation?

 

Any help is appreciated.

 

Thanks

Deepak

Labels (3)
12 Replies
Anonymous
Not applicable
Author

Have you tried 

Double.parseDouble(row1.CHG_AMT)
Anonymous
Not applicable
Author

What is the data type of AMT field coming as input & whats the data type of derived field? Based on that we can advice you conversion..

Anonymous
Not applicable
Author

Input field is something like 23.34 which is of string type and need to convert that amount field suppose in the second line item will be 34.23. So I have to sum it up and show as amount field.

Anonymous
Not applicable
Author

Hello,

Have you already tried to use Double.parseDouble(name_of_your_input_field) or

new BigDecimal(name_of_your_input_field).doubleValue()

in tMap expression?

tAggregateRow component provides the aggregation key and the relevant result of set operations (min, max, sum...).

For a description of tAggregateRow, please check the documentation user guide.

TalendHelpCenter:tAggregateRow

Best regards

Sabrina

manodwhb
Champion II
Champion II

use Double.parseDouble(sum(row1.CHG_AMT))

Anonymous
Not applicable
Author

Hello,

Is there any update for your issue?

Best regards

Sabrina

Anonymous
Not applicable
Author

No I have not got the solution yet. Suppose I have an input value like, 111.04 and I am using this in one subtraction from other field which is decimal(20,2) in Mysql and FLOAT(20,2) in Talend. 

 

I am getting data type issue, and it is not correctly calculated.

 

So how I can change the data type of field(which has 111.04) from String to Flo


@xdshiwrote:

Hello,

Is there any update for your issue?

Best regards

Sabrina



at conversion?

 

Regards,

Deepak

manodwhb
Champion II
Champion II

first you replace "," with "." using yourString.replaceAll(",", ".")) ,then you can covert using tConvert or Double.parseDouble() in tmap to convert.

Anonymous
Not applicable
Author

I don't have , in the string value.

 

I just have something like below with decimal point.

 

24.56

32.45

 

Regards,

Deepak