Arrays 将每个数字从双精度存储到一个数组

Arrays 将每个数字从双精度存储到一个数组,arrays,Arrays,我是这方面的新手,不知道如何将double的数字存储到数组中。我有这个双重值:0120.1098 我希望将其存储为如下内容: value[1] = 0 value[2] = 1 value[3] = 2 value[4] = 0 value[5] = 1 ` 等等 我该怎么做呢?我不确定您是否真的需要提取它们,但由于我对您的上下文了解不多,请看。 您可以将其转换为字符串,在上拆分并迭代。这样就得到了两个int数组。小数点前的数字为1,反小数点后的数字为on public static vo

我是这方面的新手,不知道如何将double的数字存储到数组中。我有这个双重值:0120.1098

我希望将其存储为如下内容:

value[1] = 0
value[2] = 1
value[3] = 2
value[4] = 0
value[5] = 1
`

等等


我该怎么做呢?

我不确定您是否真的需要提取它们,但由于我对您的上下文了解不多,请看。 您可以将其转换为
字符串
,在
上拆分并迭代。这样就得到了两个int数组。小数点前的数字为1,反小数点后的数字为on

  public static void main(String[] args) {
    double d = 12323.213432;
    String asString = String.valueOf(d);
    String[] splitOnDecimal = asString.split("\\.");
    int[] upperBound = getIntArray(splitOnDecimal[0]);
    int[] lowerBound = getIntArray(splitOnDecimal[1]);
    System.out.println(Arrays.toString(upperBound));
    System.out.println(Arrays.toString(lowerBound));
  }

  private static int[] getIntArray(String numberString) {
    int[] tmpArray = new int[numberString.length()];
    for (int i = 0; i < numberString.length(); i++) {
        tmpArray[i] = Integer.parseInt(numberString.substring(i, i + 1));
    }
    return tmpArray;
  }
publicstaticvoidmain(字符串[]args){
双d=12323.213432;
String asString=String.valueOf(d);
String[]splitOnDecimal=asString.split(“\\”);
int[]上限=getIntArray(splitOnDecimal[0]);
int[]lowerBound=getIntArray(splitOnDecimal[1]);
System.out.println(Arrays.toString(上限));
System.out.println(Arrays.toString(lowerBound));
}
私有静态int[]getIntArray(字符串numberString){
int[]tmpArray=newint[numberString.length()];
对于(int i=0;i
试试这个,它甚至会显示您的零:

String dbl = "0012300.00109800";
    int dblArraylength = dbl.length();

    char[] c = dbl.toCharArray();

    int dotId= dbl.indexOf(".");

    int a[] = new int[dblArraylength-1];

    for(int i=0; i<dotId; i++){
            a[i]=Integer.parseInt(Character.toString ((char)c[i]));
    }
    for(int i=dotId; i<a.length; i++){
            a[i]=Integer.parseInt(Character.toString ((char)c[i+1]));
    }
    for(int i=0; i<a.length; i++){
        System.out.println("a[" +i+ "] = " + a[i]); 
    }
String dbl=“0012300.00109800”;
int dblArraylength=dbl.length();
char[]c=dbl.toCharArray();
int dotId=dbl.indexOf(“.”);
int a[]=新int[dblArraylength-1];

对于(int i=0;iWhatfor您想这样做吗?我想使用公式将该值转换为坐标值,但这只有在我可以处理单个数字时才可能…您如何在转换后仍然知道小数点在哪里?或者您只需要大于0的数字?如果我也可以将小数点存储到数组中,那就更好了呃。我只需要知道每个数字的位置并提取出I,这很有帮助。但有一个问题……如果我的double以0开头(例如0123.456),上界[0]=1而不是上界[0]=0,有没有办法将0存储到数组中?double值从不以零开头(当然,1和0之间的数字除外)。可能是字符串值。如果在该函数中使用类似“034.34”的字符串值,则也将具有0。