@@ -981,7 +981,7 @@ mp_obj_t mp_obj_str_format(uint n_args, const mp_obj_t *args) {
981981 if (arg_looks_integer (arg )) {
982982 switch (type ) {
983983 case 'b' :
984- pfenv_print_mp_int (& pfenv_vstr , arg , 1 , 2 , 'a' , flags , fill , width );
984+ pfenv_print_mp_int (& pfenv_vstr , arg , 1 , 2 , 'a' , flags , fill , width , 0 );
985985 continue ;
986986
987987 case 'c' :
@@ -994,20 +994,20 @@ mp_obj_t mp_obj_str_format(uint n_args, const mp_obj_t *args) {
994994 case '\0' : // No explicit format type implies 'd'
995995 case 'n' : // I don't think we support locales in uPy so use 'd'
996996 case 'd' :
997- pfenv_print_mp_int (& pfenv_vstr , arg , 1 , 10 , 'a' , flags , fill , width );
997+ pfenv_print_mp_int (& pfenv_vstr , arg , 1 , 10 , 'a' , flags , fill , width , 0 );
998998 continue ;
999999
10001000 case 'o' :
10011001 if (flags & PF_FLAG_SHOW_PREFIX ) {
10021002 flags |= PF_FLAG_SHOW_OCTAL_LETTER ;
10031003 }
10041004
1005- pfenv_print_mp_int (& pfenv_vstr , arg , 1 , 8 , 'a' , flags , fill , width );
1005+ pfenv_print_mp_int (& pfenv_vstr , arg , 1 , 8 , 'a' , flags , fill , width , 0 );
10061006 continue ;
10071007
10081008 case 'X' :
10091009 case 'x' :
1010- pfenv_print_mp_int (& pfenv_vstr , arg , 1 , 16 , type - ('X' - 'A' ), flags , fill , width );
1010+ pfenv_print_mp_int (& pfenv_vstr , arg , 1 , 16 , type - ('X' - 'A' ), flags , fill , width , 0 );
10111011 continue ;
10121012
10131013 case 'e' :
@@ -1255,7 +1255,7 @@ STATIC mp_obj_t str_modulo_format(mp_obj_t pattern, uint n_args, const mp_obj_t
12551255 case 'd' :
12561256 case 'i' :
12571257 case 'u' :
1258- pfenv_print_mp_int (& pfenv_vstr , arg_as_int (arg ), 1 , 10 , 'a' , flags , fill , width );
1258+ pfenv_print_mp_int (& pfenv_vstr , arg_as_int (arg ), 1 , 10 , 'a' , flags , fill , width , prec );
12591259 break ;
12601260
12611261#if MICROPY_PY_BUILTINS_FLOAT
@@ -1273,7 +1273,7 @@ STATIC mp_obj_t str_modulo_format(mp_obj_t pattern, uint n_args, const mp_obj_t
12731273 if (alt ) {
12741274 flags |= (PF_FLAG_SHOW_PREFIX | PF_FLAG_SHOW_OCTAL_LETTER );
12751275 }
1276- pfenv_print_mp_int (& pfenv_vstr , arg , 1 , 8 , 'a' , flags , fill , width );
1276+ pfenv_print_mp_int (& pfenv_vstr , arg , 1 , 8 , 'a' , flags , fill , width , prec );
12771277 break ;
12781278
12791279 case 'r' :
@@ -1296,7 +1296,7 @@ STATIC mp_obj_t str_modulo_format(mp_obj_t pattern, uint n_args, const mp_obj_t
12961296
12971297 case 'X' :
12981298 case 'x' :
1299- pfenv_print_mp_int (& pfenv_vstr , arg , 1 , 16 , * str - ('X' - 'A' ), flags | alt , fill , width );
1299+ pfenv_print_mp_int (& pfenv_vstr , arg , 1 , 16 , * str - ('X' - 'A' ), flags | alt , fill , width , prec );
13001300 break ;
13011301
13021302 default :
0 commit comments