我理解这一点:
35%10
返回5
但是,为什么000000035%10
会返回9
?
Ruby做同样的事情。我用irb检查了。
我应该删除填充数字的0吗?这样做的java函数是什么?
答案 0 :(得分:3)
答案 1 :(得分:3)
当您将前导零后跟八进制数字(从0
添加到7
)时,您正在创建octal literal。由于八进制中的000000035
为十进制29
,因此10
的余数为9
。
<强>更新强>
如果您在字符串中包含“八进制文字”,只需使用Integer.parseInt
即可将其解析为小数。
assert Integer.parseInt("035") == 35;