2012-06-24 37 views
4

Ruby中無效的八進制數字錯誤,我該如何通過?我有一個號碼,0962833,我需要發送到一個API,但我無法發送它,因爲我得到這個無效的八進制數字錯誤。無效的八進制數字錯誤

我需要一個解決方法,而不必將該數字轉換爲字符串,零不能被刪除,這是必須的。

+0

前導'0'表示該值將被解釋爲八進制表示。爲什麼你不能刪除它? –

+0

你確定'0962833'確實是一個數字而不是字符串,'0962833',恰好是由數字組成的嗎?例如,郵政編碼通常看起來像數字,但它們不是,它們是字符串。 –

回答

5

八進制數字使用數字0到7.也許錯誤可能是數字9和數字8中的數字。 如果您想通過數字'962833',請嘗試使用在線轉換器將其首先轉換爲正確的八進制數。然後添加前導'0'並將其傳遞給你的函數。

+3

不需要在線轉換器:'「0962833」.to_i(10).to_s(8) =>「3530421」':-) –

+0

你們是對的,這不是一個數字問題,因爲我改變了它到一個字符串,問題是用我的curl命令。 謝謝。 –

3

0962833是一個八進制數,因爲前面的零,所以你不能有數字高於7.如果你需要前導零,爲什麼你不能把它變成一個字符串?前導零沒有mathematical significance,那麼爲什麼應該有一種方法來表示它們的數字類型?

相關問題