I was doing basic operations (+ - * / ) in Splunk and I noticed that if I was subtracting a number less than 0 with another number that is basically 0 (i.e. 0.04190232 - 0.0), it would return 0 unless I put the expression in an eval function called exact.
How can I make Splunk NEVER round in my search?
When performing mathematical operations between two decimal operands, the Splunk takes the lowest precision of the two operands and use the same in final result. So,
0.04190232 - 0.0 = 0 [ same as round(0.04190232,1) ]
0.04190232 - 0.00 = 0.04 [ same as round(0.04190232,2) ]
0.04190232 - 0.000 = 0.042 [ same as round(0.04190232,3) ]
If one of the operand is integer, then a lowest precision of remaining decimal operand is considered for final result
0.04190232 - 0 = 0.04190232 [ takes precision of 0.04190232 ]
0.04190232 - 0.00 - 0 = 0.04 [ takes precision of 0.00 ]
So, choose/define appropriate precision for your operands.