diff --git a/src/globals.h b/src/globals.h
index e38b471..3c401a2 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -430,107 +430,111 @@
 #define t_number_bool		(static_types[14])
 #define t_const_number_bool	(static_types[15])
 
-#define t_float			(static_types[16])
-#define t_const_float		(static_types[17])
+// t_number_float - number that can be used as a float
+#define t_number_float		(static_types[16])
+#define t_const_number_float	(static_types[17])
 
-#define t_string		(static_types[18])
-#define t_const_string		(static_types[19])
+#define t_float			(static_types[18])
+#define t_const_float		(static_types[19])
 
-#define t_blob			(static_types[20])
-#define t_const_blob		(static_types[21])
+#define t_string		(static_types[20])
+#define t_const_string		(static_types[21])
 
-#define t_blob_null		(static_types[22])
-#define t_const_blob_null	(static_types[23])
+#define t_blob			(static_types[22])
+#define t_const_blob		(static_types[23])
 
-#define t_job			(static_types[24])
-#define t_const_job		(static_types[25])
+#define t_blob_null		(static_types[24])
+#define t_const_blob_null	(static_types[25])
 
-#define t_channel		(static_types[26])
-#define t_const_channel		(static_types[27])
+#define t_job			(static_types[26])
+#define t_const_job		(static_types[27])
+
+#define t_channel		(static_types[28])
+#define t_const_channel		(static_types[29])
 
 // t_number_or_string - Special value used for @#.
-#define t_number_or_string	(static_types[28])
-#define t_const_number_or_string (static_types[29])
+#define t_number_or_string	(static_types[30])
+#define t_const_number_or_string (static_types[31])
 
 // t_func_unknown - function with any arguments and no or unknown return value
-#define t_func_unknown		(static_types[30])
-#define t_const_func_unknown	(static_types[31])
+#define t_func_unknown		(static_types[32])
+#define t_const_func_unknown	(static_types[33])
 
 // t_func_void - function with any arguments and no return value
-#define t_func_void		(static_types[32])
-#define t_const_func_void	(static_types[33])
+#define t_func_void		(static_types[34])
+#define t_const_func_void	(static_types[35])
 
-#define t_func_any		(static_types[34])
-#define t_const_func_any	(static_types[35])
+#define t_func_any		(static_types[36])
+#define t_const_func_any	(static_types[37])
 
-#define t_func_number		(static_types[36])
-#define t_const_func_number	(static_types[37])
+#define t_func_number		(static_types[38])
+#define t_const_func_number	(static_types[39])
 
-#define t_func_string		(static_types[38])
-#define t_const_func_string	(static_types[39])
+#define t_func_string		(static_types[40])
+#define t_const_func_string	(static_types[41])
 
-#define t_func_bool		(static_types[40])
-#define t_const_func_bool	(static_types[41])
+#define t_func_bool		(static_types[42])
+#define t_const_func_bool	(static_types[43])
 
 // t_func_0_void - function without arguments and nor return value
-#define t_func_0_void		(static_types[42])
-#define t_const_func_0_void	(static_types[43])
+#define t_func_0_void		(static_types[44])
+#define t_const_func_0_void	(static_types[45])
 
-#define t_func_0_any		(static_types[44])
-#define t_const_func_0_any	(static_types[45])
+#define t_func_0_any		(static_types[46])
+#define t_const_func_0_any	(static_types[47])
 
-#define t_func_0_number		(static_types[46])
-#define t_const_func_0_number	(static_types[47])
+#define t_func_0_number		(static_types[48])
+#define t_const_func_0_number	(static_types[49])
 
-#define t_func_0_string		(static_types[48])
-#define t_const_func_0_string	(static_types[49])
+#define t_func_0_string		(static_types[50])
+#define t_const_func_0_string	(static_types[51])
 
-#define t_list_any		(static_types[50])
-#define t_const_list_any	(static_types[51])
+#define t_list_any		(static_types[52])
+#define t_const_list_any	(static_types[53])
 
-#define t_dict_any		(static_types[52])
-#define t_const_dict_any	(static_types[53])
+#define t_dict_any		(static_types[54])
+#define t_const_dict_any	(static_types[55])
 
-#define t_list_empty		(static_types[54])
-#define t_const_list_empty	(static_types[55])
+#define t_list_empty		(static_types[56])
+#define t_const_list_empty	(static_types[57])
 
-#define t_dict_empty		(static_types[56])
-#define t_const_dict_empty	(static_types[57])
+#define t_dict_empty		(static_types[58])
+#define t_const_dict_empty	(static_types[59])
 
-#define t_list_bool		(static_types[58])
-#define t_const_list_bool	(static_types[59])
+#define t_list_bool		(static_types[60])
+#define t_const_list_bool	(static_types[61])
 
-#define t_list_number		(static_types[60])
-#define t_const_list_number	(static_types[61])
+#define t_list_number		(static_types[62])
+#define t_const_list_number	(static_types[63])
 
-#define t_list_string		(static_types[62])
-#define t_const_list_string	(static_types[63])
+#define t_list_string		(static_types[64])
+#define t_const_list_string	(static_types[65])
 
-#define t_list_job		(static_types[64])
-#define t_const_list_job	(static_types[65])
+#define t_list_job		(static_types[66])
+#define t_const_list_job	(static_types[67])
 
-#define t_list_dict_any		(static_types[66])
-#define t_const_list_dict_any	(static_types[67])
+#define t_list_dict_any		(static_types[68])
+#define t_const_list_dict_any	(static_types[69])
 
-#define t_list_list_any		(static_types[68])
-#define t_const_list_list_any	(static_types[69])
+#define t_list_list_any		(static_types[70])
+#define t_const_list_list_any	(static_types[71])
 
-#define t_list_list_string	(static_types[70])
-#define t_const_list_list_string (static_types[71])
+#define t_list_list_string	(static_types[72])
+#define t_const_list_list_string (static_types[73])
 
-#define t_dict_bool		(static_types[72])
-#define t_const_dict_bool	(static_types[73])
+#define t_dict_bool		(static_types[74])
+#define t_const_dict_bool	(static_types[75])
 
-#define t_dict_number		(static_types[74])
-#define t_const_dict_number	(static_types[75])
+#define t_dict_number		(static_types[76])
+#define t_const_dict_number	(static_types[77])
 
-#define t_dict_string		(static_types[76])
-#define t_const_dict_string	(static_types[77])
+#define t_dict_string		(static_types[78])
+#define t_const_dict_string	(static_types[79])
 
-#define t_super			(static_types[78])
-#define t_const_super		(static_types[79])
+#define t_super			(static_types[80])
+#define t_const_super		(static_types[81])
 
-EXTERN type_T static_types[80]
+EXTERN type_T static_types[82]
 #ifdef DO_INIT
 = {
     // 0: t_unknown
@@ -565,131 +569,135 @@
     {VAR_NUMBER, 0, 0, TTFLAG_STATIC|TTFLAG_BOOL_OK, NULL, NULL},
     {VAR_NUMBER, 0, 0, TTFLAG_STATIC|TTFLAG_BOOL_OK|TTFLAG_CONST, NULL, NULL},
 
-    // 16: t_float
+    // 16: t_number_float
+    {VAR_NUMBER, 0, 0, TTFLAG_STATIC|TTFLAG_FLOAT_OK, NULL, NULL},
+    {VAR_NUMBER, 0, 0, TTFLAG_STATIC|TTFLAG_FLOAT_OK|TTFLAG_CONST, NULL, NULL},
+
+    // 18: t_float
     {VAR_FLOAT, 0, 0, TTFLAG_STATIC, NULL, NULL},
     {VAR_FLOAT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
 
-    // 18: t_string
+    // 20: t_string
     {VAR_STRING, 0, 0, TTFLAG_STATIC, NULL, NULL},
     {VAR_STRING, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
 
-    // 20: t_blob
+    // 22: t_blob
     {VAR_BLOB, 0, 0, TTFLAG_STATIC, NULL, NULL},
     {VAR_BLOB, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
 
-    // 22: t_blob_null
+    // 24: t_blob_null
     {VAR_BLOB, 0, 0, TTFLAG_STATIC, &t_void, NULL},
     {VAR_BLOB, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_void, NULL},
 
-    // 24: t_job
+    // 26: t_job
     {VAR_JOB, 0, 0, TTFLAG_STATIC, NULL, NULL},
     {VAR_JOB, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
 
-    // 26: t_channel
+    // 28: t_channel
     {VAR_CHANNEL, 0, 0, TTFLAG_STATIC, NULL, NULL},
     {VAR_CHANNEL, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
 
-    // 28: t_number_or_string
+    // 30: t_number_or_string
     {VAR_STRING, 0, 0, TTFLAG_STATIC, NULL, NULL},
     {VAR_STRING, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, NULL, NULL},
 
-    // 30: t_func_unknown
+    // 32: t_func_unknown
     {VAR_FUNC, -1, -1, TTFLAG_STATIC, &t_unknown, NULL},
     {VAR_FUNC, -1, -1, TTFLAG_STATIC|TTFLAG_CONST, &t_unknown, NULL},
 
-    // 32: t_func_void
+    // 34: t_func_void
     {VAR_FUNC, -1, 0, TTFLAG_STATIC, &t_void, NULL},
     {VAR_FUNC, -1, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_void, NULL},
 
-    // 34: t_func_any
+    // 36: t_func_any
     {VAR_FUNC, -1, 0, TTFLAG_STATIC, &t_any, NULL},
     {VAR_FUNC, -1, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_any, NULL},
 
-    // 36: t_func_number
+    // 38: t_func_number
     {VAR_FUNC, -1, 0, TTFLAG_STATIC, &t_number, NULL},
     {VAR_FUNC, -1, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_number, NULL},
 
-    // 38: t_func_string
+    // 40: t_func_string
     {VAR_FUNC, -1, 0, TTFLAG_STATIC, &t_string, NULL},
     {VAR_FUNC, -1, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_string, NULL},
 
-    // 40: t_func_bool
+    // 42: t_func_bool
     {VAR_FUNC, -1, 0, TTFLAG_STATIC, &t_bool, NULL},
     {VAR_FUNC, -1, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_bool, NULL},
 
-    // 42: t_func_0_void
+    // 44: t_func_0_void
     {VAR_FUNC, 0, 0, TTFLAG_STATIC, &t_void, NULL},
     {VAR_FUNC, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_void, NULL},
 
-    // 44: t_func_0_any
+    // 46: t_func_0_any
     {VAR_FUNC, 0, 0, TTFLAG_STATIC, &t_any, NULL},
     {VAR_FUNC, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_any, NULL},
 
-    // 46: t_func_0_number
+    // 48: t_func_0_number
     {VAR_FUNC, 0, 0, TTFLAG_STATIC, &t_number, NULL},
     {VAR_FUNC, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_number, NULL},
 
-    // 48: t_func_0_string
+    // 50: t_func_0_string
     {VAR_FUNC, 0, 0, TTFLAG_STATIC, &t_string, NULL},
     {VAR_FUNC, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_string, NULL},
 
-    // 50: t_list_any
+    // 52: t_list_any
     {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_any, NULL},
     {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_any, NULL},
 
-    // 52: t_dict_any
+    // 54: t_dict_any
     {VAR_DICT, 0, 0, TTFLAG_STATIC, &t_any, NULL},
     {VAR_DICT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_any, NULL},
 
-    // 54: t_list_empty
+    // 56: t_list_empty
     {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_unknown, NULL},
     {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_unknown, NULL},
 
-    // 56: t_dict_empty
+    // 58: t_dict_empty
     {VAR_DICT, 0, 0, TTFLAG_STATIC, &t_unknown, NULL},
     {VAR_DICT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_unknown, NULL},
 
-    // 58: t_list_bool
+    // 60: t_list_bool
     {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_bool, NULL},
     {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_bool, NULL},
 
-    // 60: t_list_number
+    // 62: t_list_number
     {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_number, NULL},
     {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_number, NULL},
 
-    // 62: t_list_string
+    // 64: t_list_string
     {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_string, NULL},
     {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_string, NULL},
 
-    // 64: t_list_job
+    // 66: t_list_job
     {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_job, NULL},
     {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_job, NULL},
 
-    // 66: t_list_dict_any
+    // 68: t_list_dict_any
     {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_dict_any, NULL},
     {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_dict_any, NULL},
 
-    // 68: t_list_list_any
+    // 70: t_list_list_any
     {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_list_any, NULL},
     {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_list_any, NULL},
 
-    // 70: t_list_list_string
+    // 72: t_list_list_string
     {VAR_LIST, 0, 0, TTFLAG_STATIC, &t_list_string, NULL},
     {VAR_LIST, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_list_string, NULL},
 
-    // 72: t_dict_bool
+    // 74: t_dict_bool
     {VAR_DICT, 0, 0, TTFLAG_STATIC, &t_bool, NULL},
     {VAR_DICT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_bool, NULL},
 
-    // 74: t_dict_number
+    // 76: t_dict_number
     {VAR_DICT, 0, 0, TTFLAG_STATIC, &t_number, NULL},
     {VAR_DICT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_number, NULL},
 
-    // 76: t_dict_string
+    // 78: t_dict_string
     {VAR_DICT, 0, 0, TTFLAG_STATIC, &t_string, NULL},
     {VAR_DICT, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_string, NULL},
 
-    // 78: t_super (VAR_CLASS with tt_member set to &t_bool
+    // 80: t_super (VAR_CLASS with tt_member set to &t_bool
     {VAR_CLASS, 0, 0, TTFLAG_STATIC, &t_bool, NULL},
     {VAR_CLASS, 0, 0, TTFLAG_STATIC|TTFLAG_CONST, &t_bool, NULL},
 }
diff --git a/src/structs.h b/src/structs.h
index a015dec..3b5a233 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1462,10 +1462,11 @@
 
 #define TTFLAG_VARARGS	    0x01    // func args ends with "..."
 #define TTFLAG_BOOL_OK	    0x02    // can be converted to bool
-#define TTFLAG_NUMBER_OK    0x04    // tt_type is VAR_FLOAT, VAR_NUMBER is OK
-#define TTFLAG_STATIC	    0x08    // one of the static types, e.g. t_any
-#define TTFLAG_CONST	    0x10    // cannot be changed
-#define TTFLAG_SUPER	    0x20    // object from "super".
+#define TTFLAG_FLOAT_OK	    0x04    // number can be used/converted to float
+#define TTFLAG_NUMBER_OK    0x08    // number can be used for a float
+#define TTFLAG_STATIC	    0x10    // one of the static types, e.g. t_any
+#define TTFLAG_CONST	    0x20    // cannot be changed
+#define TTFLAG_SUPER	    0x40    // object from "super".
 
 typedef enum {
     ACCESS_PRIVATE,	// read/write only inside th class
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index bf8b705..44a8d4b 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
Binary files differ
diff --git a/src/version.c b/src/version.c
index f15061a..29c788d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1224,
+/**/
     1223,
 /**/
     1222,
diff --git a/src/vim9execute.c b/src/vim9execute.c
index d0dbefc..57f875d 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -5822,12 +5822,25 @@
 	}
 	else
 	{
-	    if (ufunc->uf_arg_types != NULL && idx < ufunc->uf_args.ga_len
-		    && check_typval_arg_type(
-			ufunc->uf_arg_types[idx], tv,
+	    int done = FALSE;
+	    if (ufunc->uf_arg_types != NULL && idx < ufunc->uf_args.ga_len)
+	    {
+		type_T *expected = ufunc->uf_arg_types[idx];
+		if (expected->tt_type == VAR_FLOAT && tv->v_type == VAR_NUMBER)
+		{
+		    // When a float is expected and a number was given, convert
+		    // the value.
+		    STACK_TV_BOT(0)->v_type = VAR_FLOAT;
+		    STACK_TV_BOT(0)->v_lock = 0;
+		    STACK_TV_BOT(0)->vval.v_float = tv->vval.v_number;
+		    done = TRUE;
+		}
+		else if (check_typval_arg_type(expected, tv,
 						   NULL, argv_idx + 1) == FAIL)
-		goto failed_early;
-	    copy_tv(tv, STACK_TV_BOT(0));
+		    goto failed_early;
+	}
+	    if (!done)
+		copy_tv(tv, STACK_TV_BOT(0));
 	}
 	++ectx.ec_stack.ga_len;
     }
diff --git a/src/vim9type.c b/src/vim9type.c
index 08dabd1..6185395 100644
--- a/src/vim9type.c
+++ b/src/vim9type.c
@@ -628,12 +628,17 @@
 {
     type_T *type = typval2type_int(tv, copyID, type_gap, flags);
 
-    if (type != NULL && type != &t_bool
-	    && (tv->v_type == VAR_NUMBER
+    if (type != NULL)
+    {
+	if (type != &t_bool && (tv->v_type == VAR_NUMBER
 		    && (tv->vval.v_number == 0 || tv->vval.v_number == 1)))
-	// Number 0 and 1 and expression with "&&" or "||" can also be used for
-	// bool.
-	type = &t_number_bool;
+	    // Number 0 and 1 and expression with "&&" or "||" can also be used
+	    // for bool.
+	    type = &t_number_bool;
+	else if (type != &t_float && tv->v_type == VAR_NUMBER)
+	    // A number can also be used for float.
+	    type = &t_number_float;
+    }
     return type;
 }
 
@@ -821,9 +826,10 @@
 		// Using number 0 or 1 for bool is OK.
 		return OK;
 	    if (expected->tt_type == VAR_FLOAT
-		    && (expected->tt_flags & TTFLAG_NUMBER_OK)
-					&& actual->tt_type == VAR_NUMBER)
-		// Using number where float is expected is OK here.
+		    && actual->tt_type == VAR_NUMBER
+		    && ((expected->tt_flags & TTFLAG_NUMBER_OK)
+			     || (actual->tt_flags & TTFLAG_FLOAT_OK)))
+		// Using a number where a float is expected is OK here.
 		return OK;
 	    if (give_msg)
 		type_mismatch_where(expected, actual, where);
