Convert negative precision to zero in printf (#1127)

and remove redundant check in grisu2_prettify.
diff --git a/include/fmt/printf.h b/include/fmt/printf.h
index dd55313..f75f10a 100644
--- a/include/fmt/printf.h
+++ b/include/fmt/printf.h
@@ -44,7 +44,7 @@
   int operator()(T value) {
     if (!int_checker<std::numeric_limits<T>::is_signed>::fits_in_int(value))
       FMT_THROW(format_error("number is too big"));
-    return static_cast<int>(value);
+    return (std::max)(static_cast<int>(value), 0);
   }
 
   template <typename T, FMT_ENABLE_IF(!std::is_integral<T>::value)>