簡體   English   中英

原因:java.lang.NumberFormatException:無效的int:“ 9.9”

[英]Caused by: java.lang.NumberFormatException: Invalid int: “9.9”

我在使用逗號(。)輸入數字時遇到問題,由於上次我解決了另一個問題,在您的幫助下,我希望即使在今天。 問題是這樣的,我有一個十進制數字輸入字段,但是僅插入一個帶有逗號應用程序的數字會崩潰

有人知道如何幫助我嗎? 下面的代碼是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>

您有一個試圖轉換為整數的浮點數“ 9.9”,該整數不能包含該值。

您需要將其映射到浮點數( FloatDouble )或在轉換之前修整“ .9”。

使用Double.parseDoubleString獲取double Double.parseDouble值。

您可能還應該將這些部分包裝在try / catch塊中,並專門處理要獲取的NumberFormatException

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM