Jer*_*emy 18
任何事都java.lang.*应该是公平的游戏......
int a = Integer.parseInt(Integer.toString(9) + Integer.toString(10));
Run Code Online (Sandbox Code Playgroud)
附录:
我不喜欢以下语法,因为运算符重载不像上面那样清楚地声明intent.主要是因为如果错误地取出空字符串,结果是不同的.
int a = Integer.parseInt(9 + "" + 10);
Run Code Online (Sandbox Code Playgroud)
Mar*_*iot 16
这将按预期返回一个整数,但仅在以下情况下有效b > 0.
int a = 224;
int b = 225;
int c = (int) Math.pow(10, Math.floor(Math.log10(b))+1)*a + b; // 224225
Run Code Online (Sandbox Code Playgroud)
只是一个快速的解释:这决定了数字的位数b,然后计算一个乘法因子a,使它在基数10中移动一个数字比b.
在这个例子中,b有3个数字,floor(log10(b))返回2(直观地做10^2=100,因为10^3 = 1000,我们介于225之间).然后我们计算乘法因子10^(2+1),这是1000.当我们乘以a1000时,我们得到224000.添加224000到225产生所需的224225.
b == 0由于log10(0)未定义,因此失败.