如何将字符串转换为 int?

Posted

技术标签:

【中文标题】如何将字符串转换为 int?【英文标题】:How can I convert a string to an int? 【发布时间】:2015-11-12 10:45:27 【问题描述】:

对此可能有一个非常简单的答案。我的目标是将输入的信息 x 和 y 分开并放入 z 中。

这是我的代码:

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

public class MainActivity extends Activity 
public int x = Integer.parseInt("");
public int y = Integer.parseInt("");
public int z = (y/x);
@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //Button
    Button btn = (Button) findViewById(R.id.button);


    //EditText
    EditText nop = (EditText) findViewById(R.id.editText);
    EditText cob = (EditText) findViewById(R.id.editText2);

    x = Integer.parseInt(nop);
    y = Integer.parseInt(cob);


    final TextView tv = (TextView) findViewById(R.id.textView);

    btn.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View v) 
            tv.setText(z);
        
    );



【问题讨论】:

您是否在 Google 中输入了您的标题? 似乎是什么问题?您似乎已经为 x 和 y 这样做了。我能想象的唯一问题是您仅在声明成员时指定 z,并且您确实更改了 x 和 y 的值,但从不更新 z。 @sᴜʀᴇsʜᴀᴛᴛᴀ他实际上可以转换它看看x和y的转换,但他没有正确地问问题。 我不确定你在哪里度过了这两个小时。五分钟阅读 Integer 及其方法的 javadoc ... 可能是更好的投资。附带说明:最有可能的是,您当前的问题是您的代码引发了异常;来自:public int x = Integer.parseInt("");... 因为从空字符串解析 int 根本行不通。 你已经有@Uma 的答案...... 10 分钟前...... 请阅读 你发布一个问题是为了得到答案,而不是让你的头脑在 cmets 中挣扎 【参考方案1】:

onclick 函数中声明 z。或者在你的函数中为其赋值。

还有nopcob是editText的获取里面的数据,使用getText()

因为Integer.parseInt()只接受String而不接受editText,所以你必须使用getText()来获取其中的String值。

x = Integer.parseInt(nop.getText().toString());
y = Integer.parseInt(cob.getText().toString());
 final TextView tv = (TextView) findViewById(R.id.textView);

    btn.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View v) 
          int z = x / y;
          tv.setText(z);
        
    );

z 也被全局声明并且没有分配任何内容。但是每次单击按钮时都需要为其分配一个值,以便每次单击按钮时您的 editText 都会更改。

【讨论】:

我发布了几乎相同的答案;) 是的,错误是一样的,所以我们可能会得到相同的答案:) 关于z 的范围的一些解释以及何时划分也很好;),OP 似乎有点混淆将z=x/y 声明为属性 谢谢你们的帮助 你明白我为什么这样做吗?或者你需要更清楚一些事情?【参考方案2】:

首先将 Edittext 转换为字符串,然后将其转换为 Integer。

String Val1 = nop.getText().toString();
String Val2 =cob.getText().toString();
x = Integer.parseInt(val1);
y = Integer.parseInt(val2);

【讨论】:

以上是关于如何将字符串转换为 int?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 intable 字符串列表转换为 int

如何将 std::string 转换为 int?

如何将string类型的数字转换成int

如何将字符串转换为 int? [复制]

如何将 int 转换为字符串? [复制]

如何将带有$ sing的字符串转换为int