diff --git a/pystencils/backends/cbackend.py b/pystencils/backends/cbackend.py
index f591b49e7a462383051b728ed83384858c7c38cc..86e2383c33765764b0319eff8e5eb263bf1a3984 100644
--- a/pystencils/backends/cbackend.py
+++ b/pystencils/backends/cbackend.py
@@ -453,7 +453,11 @@ class CustomSympyPrinter(CCodePrinter):
     def _print_Rational(self, expr):
         """Evaluate all rationals i.e. print 0.25 instead of 1.0/4.0"""
         res = str(expr.evalf(17))
-        return res.rstrip('0')
+        if "." in res:
+            res = res.rstrip('0')
+            if res[-1] == ".":
+                res += '0'
+        return res
 
     def _print_Equality(self, expr):
         """Equality operator is not printable in default printer"""
@@ -525,7 +529,10 @@ class CustomSympyPrinter(CCodePrinter):
 
     def _typed_number(self, number, dtype):
         res = self._print(number)
-        res = res.rstrip('0')
+        if "." in res:
+            res = res.rstrip('0')
+            if res[-1] == ".":
+                res += '0'
         if dtype.numpy_dtype == np.float32:
             return res + '.0f' if '.' not in res else res + 'f'
         elif dtype.numpy_dtype == np.float64: