diff --git a/pystencils/backends/cbackend.py b/pystencils/backends/cbackend.py
index 86e2383c33765764b0319eff8e5eb263bf1a3984..8e1d8445a21ad4d6ed89815bcbbd5dd6b88d335d 100644
--- a/pystencils/backends/cbackend.py
+++ b/pystencils/backends/cbackend.py
@@ -453,10 +453,8 @@ 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))
-        if "." in res:
-            res = res.rstrip('0')
-            if res[-1] == ".":
-                res += '0'
+        if p := res.find('.'):
+            res = res[:p + 2] + res[p + 2:].rstrip('0')
         return res
 
     def _print_Equality(self, expr):
@@ -529,10 +527,8 @@ class CustomSympyPrinter(CCodePrinter):
 
     def _typed_number(self, number, dtype):
         res = self._print(number)
-        if "." in res:
-            res = res.rstrip('0')
-            if res[-1] == ".":
-                res += '0'
+        if p := res.find('.'):
+            res = res[:p + 2] + res[p + 2:].rstrip('0')
         if dtype.numpy_dtype == np.float32:
             return res + '.0f' if '.' not in res else res + 'f'
         elif dtype.numpy_dtype == np.float64: