在printf()我记得未签名的有%u...但我可以找到没有这样%u的规格为String.format()
所以,如果我有一个大的unsignedint然后%d将正常工作吗?
Pet*_*rey 10
如果你想把int视为无符号你可以
int i = ...
String s = String.format("%d", i & 0xFFFFFFFFL);
Run Code Online (Sandbox Code Playgroud)
这有效地将signed int转换为long,但它将从0 ... 2 ^ 31-1
要做到相反,你可以这样做
int i = (int) Long.parseLong(s);
String s2 = String.format("%d", i & 0xFFFFFFFFL);
Run Code Online (Sandbox Code Playgroud)
而且s2会是一样的s,只要它是在范围内.
顺便说一句:最简单的事情可能是首先使用a long.除非你创建了很多这些额外的内存是微不足道的,代码更简单.
| 归档时间: |
|
| 查看次数: |
4038 次 |
| 最近记录: |