私は、効果的にバイナリ、10進数、または16進数を他のフォーマットに変換するプログラムを持っています。なぜこれをやっているのか尋ねません。知っている)。これまでのところ、バイナリの小数変換が行われていますが、入力された2進数が8桁以上になると正常に動作します。Java Scientific NotationからFloatへの変換
数値を入力するとわかるように、それは科学的表記法に変換され、1.0011001E7になります。ただし、数字を変換する方法には問題がありません。数字と同じ値にして個々の文字に分割します。残念ながら、これは "10011001"の代わりに "1.0011001E7"という文字列を持っていることを意味します。プログラムはそれを使って計算しようとすると何をすべきか分からない。ですから、基本的に私の質問はこれに当てはまります。これらの計算に非科学記法バージョンを使用するにはどうすればよいですか?
すべてのあなたの助けのおかげで、ここでそれがすべて場合に役立ちますコードです:
//This Splits A Single String Of Digits Into An Array Of Individual Digits
public float[] splitDigits(float fltInput){
//This Declares The Variables
String strInput = "" + fltInput;
float[] digit = new float[strInput.length() - 2];
int m = 0;
//This Declares The Array To Hold The Answer
for (m = 0; m < (strInput.length() - 2); m++){
digit[m] = Float.parseFloat(strInput.substring(m, m + 1)); //Breaks here
}
//This Returns The Answer
return digit;
}
入力は数字ではなく文字列として入力する必要があります。 –
ええ、振り返ってみると、数字を分割してしまうまでは、数値に変換してはいけません。ありがとう、私は文字列としてそれを残して、私が顔で私を見つめていたことを理解できませんでした。 – Doug
問題はありません:) –