Add precision support to round function