objstr: Fix %d-formatting of floats.

This commit is contained in:
Paul Sokolovsky 2014-12-31 02:20:57 +02:00
parent 8a2cc1c7e4
commit 2c75665445
2 changed files with 6 additions and 5 deletions

View File

@ -827,11 +827,7 @@ static bool arg_looks_numeric(mp_obj_t arg) {
static mp_obj_t arg_as_int(mp_obj_t arg) {
#if MICROPY_PY_BUILTINS_FLOAT
if (MP_OBJ_IS_TYPE(arg, &mp_type_float)) {
// TODO: Needs a way to construct an mpz integer from a float
mp_int_t num = mp_obj_get_float(arg);
return MP_OBJ_NEW_SMALL_INT(num);
return mp_obj_new_int_from_float(mp_obj_get_float(arg));
}
#endif
return arg;

View File

@ -3,3 +3,8 @@ print(int(1418774543.))
# TODO: General case with large exponent
#print(int(2.**100))
print("%d" % 1418774543.)
# TODO: General case with large exponent
#print("%d" % 2.**100)