diff --git a/src/Makefile b/src/Makefile
index 7ae3fcb..db70672 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2091,6 +2091,7 @@
 	test_delete \
 	test_diffmode \
 	test_digraph \
+	test_functions \
 	test_display \
 	test_ex_undo \
 	test_execute_func \
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 74676c2..efa07b1 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -11066,10 +11066,13 @@
 f_str2float(typval_T *argvars, typval_T *rettv)
 {
     char_u *p = skipwhite(get_tv_string(&argvars[0]));
+    int     isneg = (*p == '-');
 
-    if (*p == '+')
+    if (*p == '+' || *p == '-')
 	p = skipwhite(p + 1);
     (void)string2float(p, &rettv->vval.v_float);
+    if (isneg)
+	rettv->vval.v_float *= -1;
     rettv->v_type = VAR_FLOAT;
 }
 #endif
@@ -11084,6 +11087,7 @@
     char_u	*p;
     varnumber_T	n;
     int		what;
+    int		isneg;
 
     if (argvars[1].v_type != VAR_UNKNOWN)
     {
@@ -11096,7 +11100,8 @@
     }
 
     p = skipwhite(get_tv_string(&argvars[0]));
-    if (*p == '+')
+    isneg = (*p == '-');
+    if (*p == '+' || *p == '-')
 	p = skipwhite(p + 1);
     switch (base)
     {
@@ -11106,7 +11111,11 @@
 	default: what = 0;
     }
     vim_str2nr(p, NULL, NULL, what, &n, NULL, 0);
-    rettv->vval.v_number = n;
+    if (isneg)
+	rettv->vval.v_number = -n;
+    else
+	rettv->vval.v_number = n;
+
 }
 
 #ifdef HAVE_STRFTIME
diff --git a/src/testdir/test_alot.vim b/src/testdir/test_alot.vim
index 6e989f6..d29bc3a 100644
--- a/src/testdir/test_alot.vim
+++ b/src/testdir/test_alot.vim
@@ -18,6 +18,7 @@
 source test_filter_map.vim
 source test_float_func.vim
 source test_fnamemodify.vim
+source test_functions.vim
 source test_glob2regpat.vim
 source test_goto.vim
 source test_help_tagjump.vim
diff --git a/src/testdir/test_float_func.vim b/src/testdir/test_float_func.vim
index e51b83e..981d821 100644
--- a/src/testdir/test_float_func.vim
+++ b/src/testdir/test_float_func.vim
@@ -165,9 +165,22 @@
 
 func Test_str2float()
   call assert_equal('1.0', string(str2float('1')))
+  call assert_equal('1.0', string(str2float(' 1 ')))
+  call assert_equal('1.0', string(str2float(' 1.0 ')))
   call assert_equal('1.23', string(str2float('1.23')))
   call assert_equal('1.23', string(str2float('1.23abc')))
   call assert_equal('1.0e40', string(str2float('1e40')))
+
+  call assert_equal('1.0', string(str2float('+1')))
+  call assert_equal('1.0', string(str2float('+1')))
+  call assert_equal('1.0', string(str2float(' +1 ')))
+  call assert_equal('1.0', string(str2float(' + 1 ')))
+
+  call assert_equal('-1.0', string(str2float('-1')))
+  call assert_equal('-1.0', string(str2float('-1')))
+  call assert_equal('-1.0', string(str2float(' -1 ')))
+  call assert_equal('-1.0', string(str2float(' - 1 ')))
+
   call assert_equal('inf', string(str2float('1e1000')))
   call assert_equal('inf', string(str2float('inf')))
   call assert_equal('-inf', string(str2float('-inf')))
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
new file mode 100644
index 0000000..ec816d1
--- /dev/null
+++ b/src/testdir/test_functions.vim
@@ -0,0 +1,18 @@
+" Tests for various functions.
+
+func Test_str2nr()
+  call assert_equal(0, str2nr(''))
+  call assert_equal(1, str2nr('1'))
+  call assert_equal(1, str2nr(' 1 '))
+
+  call assert_equal(1, str2nr('+1'))
+  call assert_equal(1, str2nr('+ 1'))
+  call assert_equal(1, str2nr(' + 1 '))
+
+  call assert_equal(-1, str2nr('-1'))
+  call assert_equal(-1, str2nr('- 1'))
+  call assert_equal(-1, str2nr(' - 1 '))
+
+  call assert_equal(123456789, str2nr('123456789'))
+  call assert_equal(-123456789, str2nr('-123456789'))
+endfunc
diff --git a/src/version.c b/src/version.c
index f5327cc..c74052d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    167,
+/**/
     166,
 /**/
     165,
