The GRASS GIS development team keeps on introducing new features and enhancements to GRASS 7.0. One of the latest examples is the enhancement of the round() function in r.mapcalc. Previously this function would always returns an integer, regardless of its argument types. And because integers are always 32-bit, the result was limited to the range ± 2147483647 (2^31-1).
These limitations have been removed in the latest update of grass 7.0 (trunk r56313). Now the output type of round() is the same as the input type. Rounding to a given number of decimal places is supported with round(x, y) where y = number of decimal places.
In addition, the new function round(x, y) supports a negative number of decimal places: for example, round(119, -1) results in 120, and round(119, -2) results in 100.
Again great work by the GRASS development team!