diff --git a/src/box/sql/func.c b/src/box/sql/func.c
index 487cdafe1d99cbfd0febfe70f03d1f69f1e1a0d4..0aedb2d3d3896077e55ad6ad3198f9e1ad11eebb 100644
--- a/src/box/sql/func.c
+++ b/src/box/sql/func.c
@@ -857,9 +857,9 @@ roundFunc(sql_context * context, int argc, sql_value ** argv)
 	 * handle the rounding directly,
 	 * otherwise use printf.
 	 */
-	if (n == 0 && r >= 0 && r < LARGEST_INT64 - 1) {
+	if (n == 0 && r >= 0 && r < (double)(LARGEST_INT64 - 1)) {
 		r = (double)((sql_int64) (r + 0.5));
-	} else if (n == 0 && r < 0 && (-r) < LARGEST_INT64 - 1) {
+	} else if (n == 0 && r < 0 && (-r) < (double)(LARGEST_INT64 - 1)) {
 		r = -(double)((sql_int64) ((-r) + 0.5));
 	} else {
 		const char *rounded_value = tt_sprintf("%.*f", n, r);