diff --git a/rosco-manifests/src/main/java/com/netflix/spinnaker/rosco/manifests/helm/HelmSetArgumentParser.java b/rosco-manifests/src/main/java/com/netflix/spinnaker/rosco/manifests/helm/HelmSetArgumentParser.java
index f173b0462..e6a3a6d87 100644
--- a/rosco-manifests/src/main/java/com/netflix/spinnaker/rosco/manifests/helm/HelmSetArgumentParser.java
+++ b/rosco-manifests/src/main/java/com/netflix/spinnaker/rosco/manifests/helm/HelmSetArgumentParser.java
@@ -536,7 +536,13 @@ private Object typedVal(String value) {
       try {
         return Long.parseLong(value);
       } catch (NumberFormatException e) {
-        // Not a Long, return the string itself
+        // Not a Long, let's see if it's a Double
+      }
+
+      try {
+        return Double.parseDouble(value);
+      } catch (NumberFormatException e) {
+        // Not a Double either, return the string itself.
       }
     }
 
diff --git a/rosco-manifests/src/test/java/com/netflix/spinnaker/rosco/manifests/helm/HelmSetArgumentParserTest.java b/rosco-manifests/src/test/java/com/netflix/spinnaker/rosco/manifests/helm/HelmSetArgumentParserTest.java
index 65e14a73e..3af072725 100644
--- a/rosco-manifests/src/test/java/com/netflix/spinnaker/rosco/manifests/helm/HelmSetArgumentParserTest.java
+++ b/rosco-manifests/src/test/java/com/netflix/spinnaker/rosco/manifests/helm/HelmSetArgumentParserTest.java
@@ -160,7 +160,9 @@ private static Stream<Arguments> helmParseArgs() {
             Map.of("name1", Map.of("name2", Arrays.asList(null, Map.of("foo", "bar")))),
             true),
         Arguments.of("key[0]=value,key=value", Map.of("key", "value"), true),
-        Arguments.of("key1.key2=value,key1=value", Map.of("key1", "value"), true));
+        Arguments.of("key1.key2=value,key1=value", Map.of("key1", "value"), true),
+        Arguments.of("key=1.234", Map.of("key", "1.234"), true),
+        Arguments.of("key=1.234", Map.of("key", 1.234), false));
   }
 
   private static Stream<Arguments> helmParseArgsError() {