If you add a decimal place to one of the operands, then this is no longer an integer division:
groovy:000> percentageFee = 285L
===> 285
groovy:000> percentageFee / 100.0
===> 2.85
Here 100.0 is BigDecimal.
If it was Java, then splitting the long into an integer will result in a long. But in Groovy, this does not work. The division operation returns BigDecimal, assigning the result to Long, truncates the result:
groovy:000> percentageFee = 285L
===> 285
groovy:000> f = percentageFee / 100
===> 2.85
groovy:000> f.class
===> class java.math.BigDecimal
( blackdrag .)