私はJAVAを学んでいますが、最近私はいくつかの訓練タスクで同じ問題を抱えていました。8進数を小数として扱います
私はいくつかの数字を持っていますが、そのうちのいくつかは0から始まっています。これらの数字は8進数なので、私が望む数字にならないか、 "9"は8進数ではないためです)。
これまでは、14または05のような2桁の数字で作業していました。 私は文字列として扱いましたそして今、私は未知リットルを持っている文字列番号のすべてをチェックし、この
String numStr = "02";
if(numStr.startsWith("0")) {
int num = getNumericValue(numStr.charAt(1));
} else {
int num = Integer.parseInt(numStr);
}
のような番号に変換機能を備えた数値にそれらを変換します桁数が不明な番号の番号(おそらく2以上)。私が知りたいのであれば、ループと.substring()
を使うことができますが、もっと簡単な方法が必要です。
どうにかゼロを無視する方法はありますか?
編集:今まで私はいつも、私は問題を解決する簡単な方法を見つけることができなかったためであると文字列で仕事をしていた番号を編集し
。私は0010 27 09
を持っていたとき、私はそれが好きで宣言しなければならなかった:
String[] numbers = {"0010", "27", "09"};
私はこのようにそれを宣言するため、場合:
int[] numbers = {0010, 27, 09};
番号が[0]の代わりに10と数字の8になります[2]私にエラーを与える
実際に私はStringsで作業したくありません。私が実際に望むのは、数値でゼロから始まる数字(intやlongなど)を読み込むことですが、小数点にしたいのです。問題は、ソースから数が多いことです。私はそれらをコードにコピーし、配列の宣言として編集しました。しかし、私はゼロを削除して再び数値にするために、それらをストリングに編集したくありません。
'' numStr ".charAt(1)'は '' u ''です。 '' numStr "'は数字ではないので、 '' Integer.parseInt( "numStr") 'は' NumberFormatException'で失敗します。 –
期待どおりの入力と出力を投稿してください。 –
話題にならないかもしれませんが、あなたの文字列変数を二重引用符で囲みました。 numStrでなく、 "numStr"でなければなりません。解析とキャラクターの取得。 – iMan