cancel
Showing results for 
Search instead for 
Did you mean: 

Only 2 values after decimal point

Former Member
0 Kudos

Hi All,

Can you please help me with this requirement

Input              Output

234.5676      234.56

Any number before decimal point.

No Round off after decimal point

Regards,

Abhi

Accepted Solutions (1)

Accepted Solutions (1)

gagandeep_batra
Active Contributor
0 Kudos

Hi Abhi,

you can use following udf: for that:

-------------------------------------

public String calculate(String a, Container container) throws StreamTransformationException{

int b = a.lastIndexOf(".");

String beforedot = a.substring(0,b);

String afterdot=a.substring(b,b+3);

String result = beforedot+afterdot;

return result;

}

--------------

Regards

Gagan

Former Member
0 Kudos

Hi Gagan,

It is working as per my requirement.Thanks for the logic.

Regards,

Abhi

Answers (3)

Answers (3)

ambrish_mishra
Active Contributor
0 Kudos

Try standard  formatNum function... use parameter #####.##

Ambrish

Former Member
0 Kudos

Hi Ambrish,

I tried with formatNum but it is rounding off the value.I mean if it is 123.569 output I am getting as 123.57

Regards,

Abhi

former_member184720
Active Contributor
0 Kudos

Its very much possible to achieve it without any UDF.

What about format number?

http://wiki.scn.sap.com/wiki/display/HOME/Message+Mapping+Format+Number

If you are expecting any null values then you can use if then else function accordingly.

Former Member
0 Kudos

Hi Abhinav

write this small udf for doing the same

code:

if(field.length() > 0 )

   {

    if( -1 == field.indexOf("."))

        return(field + ".00");

     else

        return(field.substring(0,field.indexOf(".")+3));

     }

else

    return field;

Output:

Former Member
0 Kudos

Thanks Indrajit.I tried with