- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hello Team ,
I have to avoid the division with zeros So, i have written below code for it .
it was not working with some variable and for those variables i am getting some big exponential number .
Code was :
If premium_cost ne 0 then premium_percentage=(premium_comm/premium_cost ) ;
here
premium_cost is zero .
premium_comm is 27.6
I am gettting premium_percentage=3.106E8.
I have some alternates divide function,<>, case function as well but gettting same permium_percentage.
Please kindly help me here.
Thanks & Regards,
Itharaju.
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
If round(premium_cost, 1) ne 0 then do.....
Numerical precision, your number is likely 0.0000001 which is not equal to 0 so it still does the division. Use ROUND() to round the value for comparison.
@Itharaju wrote:
Hello Team ,
I have to avoid the division with zeros So, i have written below code for it .
it was not working with some variable and for those variables i am getting some big exponential number .
Code was :
If premium_cost ne 0 then premium_percentage=(premium_comm/premium_cost ) ;
here
premium_cost is zero .
premium_comm is 27.6
I am gettting premium_percentage=3.106E8.
I have some alternates divide function,<>, case function as well but gettting same permium_percentage.
Please kindly help me here.
Thanks & Regards,
Itharaju.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
If round(premium_cost, 1) ne 0 then do.....
Numerical precision, your number is likely 0.0000001 which is not equal to 0 so it still does the division. Use ROUND() to round the value for comparison.
@Itharaju wrote:
Hello Team ,
I have to avoid the division with zeros So, i have written below code for it .
it was not working with some variable and for those variables i am getting some big exponential number .
Code was :
If premium_cost ne 0 then premium_percentage=(premium_comm/premium_cost ) ;
here
premium_cost is zero .
premium_comm is 27.6
I am gettting premium_percentage=3.106E8.
I have some alternates divide function,<>, case function as well but gettting same permium_percentage.
Please kindly help me here.
Thanks & Regards,
Itharaju.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Assuming that @Reeza accurately identified the problem, you need to decide what to do when your variable is nearly zero. If you want to avoid dividing for that case, you can use:
If round(premium_cost, 0.00000001) ne 0 then premium_percentage=(premium_comm/premium_cost ) ;
You may need to experiment with the number of zeros after the decimal point.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
==>
premium_percentage=divide(premium_comm , premium_cost ) ;