Skip to content

Commit 2c5c5e4

Browse files
committed
[GR-23764] Fix string formatting of numbers outside int range
PullRequest: graalpython/993
2 parents ab382ca + 08f3241 commit 2c5c5e4

File tree

1 file changed

+4
-2
lines changed
  • graalpython/com.oracle.graal.python/src/com/oracle/graal/python/runtime/formatting

1 file changed

+4
-2
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/runtime/formatting/StringFormatter.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
import com.oracle.graal.python.util.BiFunction;
1919

20+
import java.math.BigInteger;
21+
2022
import com.oracle.graal.python.builtins.PythonBuiltinClassType;
2123
import com.oracle.graal.python.builtins.objects.PNone;
2224
import com.oracle.graal.python.builtins.objects.PythonAbstractObject;
@@ -393,10 +395,10 @@ public Object format(Object args1, CallNode callNode, BiFunction<Object, String,
393395
fi.format((Integer) argAsNumber);
394396
} else if (argAsNumber instanceof Long) {
395397
f = fi = new IntegerFormatter.Traditional(core, buffer, spec);
396-
fi.format(((Long) argAsNumber).intValue());
398+
fi.format((BigInteger.valueOf((Long) argAsNumber)));
397399
} else if (argAsNumber instanceof PInt) {
398400
f = fi = new IntegerFormatter.Traditional(core, buffer, spec);
399-
fi.format(((PInt) argAsNumber).intValue());
401+
fi.format(((PInt) argAsNumber).getValue());
400402
} else if (arg instanceof String && ((String) arg).length() == 1) {
401403
f = ft = new TextFormatter(core, buffer, spec);
402404
ft.format((String) arg);

0 commit comments

Comments
 (0)