引起:java.lang.NumberFormatException:无效的int:" 9.9"

时间:2014-07-22 18:58:49

标签: java android xml

我用逗号(。)输入数字时遇到问题,感谢您上次帮我解决了另一个问题,我希望即使在今天。 问题是,我有一个十进制数字输入字段,但只是inserico一个逗号应用程序崩溃的数字

有人知道如何帮助我吗? 下面的代码是java和xml

代码java。

        EditText x_tensione = (EditText)findViewById(R.id.Tensione);
        EditText x_potenza = (EditText)findViewById(R.id.Potenza);
        EditText x_lunghezza = (EditText)findViewById(R.id.Lunghezza);
        EditText x_caduta_tensione = (EditText)findViewById(R.id.Caduta_tensione);

            String xtensione = x_tensione.getText().toString();
            String xpotenza = x_potenza.getText().toString();
            String xlunghezza = x_lunghezza.getText().toString();
            String xcaduta_tensione = x_caduta_tensione.getText().toString();

            double NumeroTensione = Integer.parseInt(xtensione);
            double NumeroPotenza = Integer.parseInt(xpotenza);
            double NumeroLunghezza= Integer.parseInt(xlunghezza);
            double NumeroCaduta = Integer.parseInt(xcaduta_tensione);

            double molt = 2* NumeroPotenza;
            double resistenza = (NumeroCaduta / molt) * NumeroTensione;
            double xx = 0.0178;
            double x3 = xx * (NumeroLunghezza / resistenza);
            double x = x3;
            TextView Tview = (TextView)findViewById(R.id.uscita);
            Tview.setText(String.valueOf(x));

代码xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        >
        <TextView
            android:text="Seleziona corrente"
            android:layout_width="130dp"
            android:layout_height="wrap_content"
            />

        <RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="102dp"
            android:orientation="vertical">
            <RadioButton android:id="@+id/continua"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Continua"
                android:onClick="onRadioButtonClicked"
                />
            <RadioButton android:id="@+id/monofase"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Monofase alternata"
                android:onClick="onRadioButtonClicked"
                />
            <RadioButton android:id="@+id/trifase"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Trifase alternata"
                android:onClick="onRadioButtonClicked"
                />
        </RadioGroup>

</LinearLayout>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <TextView
            android:text="Tensione"
            android:layout_width="130dp"
            android:layout_height="wrap_content"
            />

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/Tensione"
            android:layout_weight="1"
            android:numeric="decimal" />

    </LinearLayout>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <TextView
            android:text="Potenza"
            android:layout_width="130dp"
            android:layout_height="wrap_content"
            />

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/Potenza"
            android:layout_weight="1"
            android:numeric="decimal" />

    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <TextView
            android:text="Caduta tensione"
            android:layout_width="130dp"
            android:layout_height="wrap_content"
            android:numeric="decimal" />

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/editText5"
            android:layout_weight="1"
            android:numeric="decimal" />
    </LinearLayout><LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <TextView
        android:text="Lunghezza"
        android:layout_width="130dp"
        android:layout_height="wrap_content"
       />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/editText6"
        android:layout_weight="1"
        android:numeric="decimal" />

</LinearLayout>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <TextView
            android:text="Risultato ="
            android:layout_width="130dp"
            android:layout_height="wrap_content"
             />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/uscita" />

    </LinearLayout>

    <Button
        android:id="@+id/backbutton"
        android:background="#9941e7d2"
        android:radius="4dp"
        android:shape="rectangle"
        android:text="Calcola "
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="Mostra_Risultato" />

</LinearLayout>

2 个答案:

答案 0 :(得分:5)

您有一个浮点数“9.9”,您试图将其转换为整数,该整数不能包含该值。

您需要将其映射到浮点数(FloatDouble)或在转换前修剪“.9”。

答案 1 :(得分:0)

使用Double.parseDoubledouble获取String值。

您可能还应该将这些部分包装在try / catch块中,并专门处理您获得的NumberFormatException