我正在开发一个程序,它可以有效地将二进制、十进制或十六进制数字转换为其他格式(不要问我为什么要这样做,我真的不知道)。到目前为止,我只有一个二进制 - 十进制转换,它工作正常,但是只要输入的二进制数是 8 位或更多,它就会崩溃。
据我所知,当我输入数字 10011001 时,它会被转换为科学记数法并变为 1.0011001E7,这并不是真正的问题,除了我转换数字的方式涉及创建一个与编号并将其分解为单个字符。不幸的是,这意味着我有一个值为“1.0011001E7”而不是“10011001”的字符串,所以当我切割字符时,我点击了“。” 当我尝试用它进行计算时,程序不知道该怎么做。所以基本上我的问题归结为这个,我如何强制它使用非科学符号版本进行这些计算?
感谢您的所有帮助,如果有帮助,这里是代码:
//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;
}