これは分かります:
35%10
戻り値5
しかし、なぜ000000035%10
戻るの9
ですか?
Rubyも同じことをします。irbで確認しました。
番号を埋めている0を削除する必要がありますか?それを行うためのJava関数は何ですか?
これは分かります:
35%10
戻り値5
しかし、なぜ000000035%10
戻るの9
ですか?
Rubyも同じことをします。irbで確認しました。
番号を埋めている0を削除する必要がありますか?それを行うためのJava関数は何ですか?
数値リテラルの先行ゼロは、8進数を意味します。
000000035 = 035 = 3*8 + 5 = 29
29 % 10 = 9
他の利用可能なフォーマットについては、このページを参照してください。
先行ゼロの後に8進数(from0
から)を付けると、 8進数のリテラル7
が作成されます。また、8進数は10進数であるため、余りはです。000000035
29
10
9
アップデート
文字列に「8進数リテラル」がある場合は、を使用するだけでInteger.parseInt
、10進数として解析されます。
assert Integer.parseInt("035") == 35;