0

EditText 是“十进制数”。我认为它是一个整数,所以我可以使用 numA 来平方,但它向我显示一个错误“将“numA”的类型更改为“double”。
任何帮助将不胜感激。

EditText numA, numB, numC;
numA = (EditText) findViewById(R.id.numA);
numB = (EditText) findViewById(R.id.numB);
numC = (EditText) findViewById(R.id.numC);
Double sqrt = (Double) (Math.pow(numA, 2));
4

2 回答 2

1

嗨,请尝试类似的东西-

 package com.example.hello;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {
    EditText editPsw;
    Button btnCheckBox;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editPsw=(EditText)findViewById(R.id.editText1);
        btnCheckBox=(Button)findViewById(R.id.button1);



        btnCheckBox.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub

                 Double getText=Double.parseDouble(editPsw.getText().toString());
                    Double sqrt = (Double) (Math.pow(getText, 2));
                    System.out.println(sqrt);

            }
        });
    }



}

在你的布局中——

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:background="@color/white"
    tools:context=".MainActivity" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="fill_parent"
        android:layout_height="30dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="172dp"
        android:ems="10"
        android:padding="1dp"
        android:inputType="number" >

        <requestFocus />

    </EditText>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/editText1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="66dp"
        android:text="Button" />

</RelativeLayout>
于 2013-07-22T04:56:02.137 回答
1

您必须首先解析该值:

double a=Double.parseDouble(numA.getText().toString());

你的错误是你只是在控制,你还需要获得价值。该值是一个字符串,因此您也需要对其进行解析。这就是我在上面那行代码中所做的。

于 2013-07-22T04:52:48.603 回答