特質輸出我明白這一點:Java。從模運算
35%10
回報5
但是,爲什麼000000035%10
回報9
?
Ruby做同樣的事情。我用irb查了一下。
我應該去除填充數字的0嗎? java的功能是什麼?
特質輸出我明白這一點:Java。從模運算
35%10
回報5
但是,爲什麼000000035%10
回報9
?
Ruby做同樣的事情。我用irb查了一下。
我應該去除填充數字的0嗎? java的功能是什麼?
當您將前導零後跟八進制數字(從0
到7
),您將創建一個octal literal。並且因爲十進制中的000000035
是十進制中的29
,所以其餘的10
是9
。
UPDATE
如果你有一個字符串你的「八進制」,只需使用Integer.parseInt
,你就會得到它解析爲一個小數。
assert Integer.parseInt("035") == 35;
我明白了。謝謝你。但我想要的任何整數,例如「000030」或「000123」在我處理它之前沒有零。我怎麼能做到這一點? –
你有字符串嗎?或生成的代碼? –
只是不要使用前導零。 –
這很奇怪,它爲什麼這樣做? – emschorsch
有時,以接近內部CPU表示的格式指定常量很方便。 –
雅我想我的意思是爲什麼它不同於二進制您在它之前0b00035或十六進制其中0x00035?這似乎是一個更好的避免這種混亂的系統。 – emschorsch
因爲它是十進制的29的十進制數。 –
我在這個變量中有一些整數,以這樣的零開始,而其他的不是。它們都只是十進制整數,沒有一個應該是八進制的。我如何確保每個整數都被視爲小數? –
您需要八進制數字(0..7)來製作八進制文字。 –