diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java
index 4ab177e21a35b7df19a1b23051c23d080220bb35..886060e702ce9dd993098970f6131eeb70e9a48b 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java
@@ -408,7 +408,15 @@ public class CppPistacheServerCodegen extends AbstractCppCodegen {
         } else if (ModelUtils.isNumberSchema(p)) {
             if (ModelUtils.isFloatSchema(p)) { // float
                 if (p.getDefault() != null) {
-                    return p.getDefault().toString() + "f";
+                    // We have to ensure that our default value has a decimal point,
+                    // because in C++ the 'f' suffix is not valid on integer literals
+                    // i.e. 374.0f is a valid float but 374 isn't.
+                    String defaultStr = p.getDefault().toString();
+                    if (defaultStr.indexOf('.') < 0) {
+                        return defaultStr + ".0f";
+                    } else {
+                        return defaultStr + "f";
+                    }
                 } else {
                     return "0.0f";
                 }