【问题标题】:NumberFormatException...Invalid DoubleNumberFormatException...无效的双精度
【发布时间】:2020-09-19 14:32:05
【问题描述】:

我使用三个编辑文本创建了一个计算加速度的应用程序,但是当用户输入错误的数字,如“.3”或未输入任何数字时,我分别得到一个无效的双重错误“”“.3” ..我正在使用android studio kotlin代码...请添加源代码来解释

<EditText
        android:id="@+id/v1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:autofillHints=""
        android:ems="10"
        android:hint="@string/initial_velocity"
        android:inputType="numberSigned|numberDecimal"
        android:textColor="#F8F5F5"
        android:textColorHint="#FFFFFF"
        android:textSize="24sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/s"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="24dp"
        android:autofillHints=""
        android:ems="10"
        android:hint="@string/time"
        android:inputType="numberSigned|numberDecimal"
        android:textColor="#FFFFFF"
        android:textColorHint="#FAF6F6"
        android:textSize="24sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/v2" />

    <Button
        android:id="@+id/acceleration"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="32dp"
        android:background="#FFFFFF"
        android:text="@string/acceleration1"
        android:textColor="#070707"
        android:textSize="18sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/s" />

    <TextView
        android:id="@+id/n"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#FFFFFF"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

    <TextView
        android:id="@+id/s1"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:text="@string/ms"
        android:textColor="#EDECEC"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toEndOf="@+id/n" />

    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="24dp"
        android:text="@string/_2g"
        android:textColor="#FFFFFF"
        android:textSize="18sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toEndOf="@+id/s1" />

    <EditText
        android:id="@+id/v2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="24dp"
        android:autofillHints=""
        android:ems="10"
        android:hint="@string/final_velocity"
        android:inputType="numberSigned|numberDecimal"
        android:textColor="#FFFFFF"
        android:textColorHint="#FFFFFF"
        android:textSize="24sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/v1" />

val Int:Number=(((v2.text.toString().toDouble())-(v1.text.toString().toDouble()))/(s.text.toString().toDouble()))
            n.setText(Int.toString())
            Toast.makeText(this, "Acceleration equals", Toast.LENGTH_LONG).show()
        }
    }
    fun Math (Int:Number) {
        val Int:Number=(((v2.text.toString().toDouble())-(v1.text.toString().toDouble()))/(s.text.toString().toDouble()))
        n.setText(kotlin.Int.toString())
    }
}

【问题讨论】:

    标签: android kotlin google-developers-console


    【解决方案1】:

    您似乎在声明一个整数 val Int: 并试图计算双精度值

    试试这个

    val Double:Number=(((v2.text.toString().toDouble())-(v1.text.toString().toDouble()))/(s.text.toString().toDouble()))
                n.setText(Double.toString())
                Toast.makeText(this, "Acceleration equals", Toast.LENGTH_LONG).show()
            }
        }
        fun Math (Double:Number) {
            val Double:Number=(((v2.text.toString().toDouble())-(v1.text.toString().toDouble()))/(s.text.toString().toDouble()))
            n.setText(kotlin.Double.toString())
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-05
      • 2015-12-14
      • 1970-01-01
      • 2016-07-02
      • 1970-01-01
      • 1970-01-01
      • 2017-04-21
      • 1970-01-01
      相关资源
      最近更新 更多