summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--py/objstr.c4
-rw-r--r--tests/float/string-format-modulo.py6
2 files changed, 8 insertions, 2 deletions
diff --git a/py/objstr.c b/py/objstr.c
index 4100b69beb..593c39cb09 100644
--- a/py/objstr.c
+++ b/py/objstr.c
@@ -1273,7 +1273,7 @@ not_enough_args:
if (alt) {
flags |= (PF_FLAG_SHOW_PREFIX | PF_FLAG_SHOW_OCTAL_LETTER);
}
- pfenv_print_mp_int(&pfenv_vstr, arg_as_int(arg), 1, 8, 'a', flags, fill, width);
+ pfenv_print_mp_int(&pfenv_vstr, arg, 1, 8, 'a', flags, fill, width);
break;
case 'r':
@@ -1296,7 +1296,7 @@ not_enough_args:
case 'X':
case 'x':
- pfenv_print_mp_int(&pfenv_vstr, arg_as_int(arg), 1, 16, *str - ('X' - 'A'), flags | alt, fill, width);
+ pfenv_print_mp_int(&pfenv_vstr, arg, 1, 16, *str - ('X' - 'A'), flags | alt, fill, width);
break;
default:
diff --git a/tests/float/string-format-modulo.py b/tests/float/string-format-modulo.py
index 549b09c1c0..ddca0b5555 100644
--- a/tests/float/string-format-modulo.py
+++ b/tests/float/string-format-modulo.py
@@ -5,6 +5,12 @@ print("%d" % 1.0)
print("%i" % 1.0)
print("%u" % 1.0)
+# these 3 have different behaviour in Python 3.x versions
+# uPy raises a TypeError, following Python 3.5 (earlier versions don't)
+#print("%x" % 18.0)
+#print("%o" % 18.0)
+#print("%X" % 18.0)
+
print("%e" % 1.23456)
print("%E" % 1.23456)
print("%f" % 1.23456)