diff --git a/src/Plugin/Field/FieldWidget/InputPatternWidget.php b/src/Plugin/Field/FieldWidget/InputPatternWidget.php
index 2a9ed853a5fffb4015577ca7b017b36e68358032..200f7b6b421e835e0c0651409f00cc9c13ad23b4 100644
--- a/src/Plugin/Field/FieldWidget/InputPatternWidget.php
+++ b/src/Plugin/Field/FieldWidget/InputPatternWidget.php
@@ -592,9 +592,10 @@ class InputPatternWidget extends WidgetBase {
 
       $field_value = $form_state->getValue($field_name_path) ?? [];
       foreach ($user_input as $delta => &$value) {
-        if (is_numeric($delta) && $value != '') {
+        if (is_numeric($delta) && gettype($value['value']) != 'double' && $value['value'] != '') {
           $value['value'] = str_replace($separator, '', $value['value']);
           $value['value'] = str_replace($decimal_character, '.', $value['value']);
+          $value['value'] += 0;
           $field_value[$delta]['value'] = $value['value'];
         }
       }