【问题标题】:Displaying result as an int in a text view在文本视图中将结果显示为 int
【发布时间】:2017-07-26 22:10:24
【问题描述】:

我有以下代码将我的结果显示为双精度,但是我想将其显示为 int?这是我已经工作的代码

Bundle b = getIntent().getExtras();
double result = b.getDouble("total");

TextView display = (TextView)findViewById(R.id.txtResult);
display.setText(+result+ "well done");

【问题讨论】:

    标签: java android int double


    【解决方案1】:

    如果结果是 double 基元,则可以强制转换它,这会强制 double 为整数,丢失小数部分....

    display.setText((int)result+ "well done");
    

    如果 result 是一个 Double 包装器,则调用方法 Double#intValue()

    display.setText(result.intValue()+ "well done");
    

    【讨论】:

      【解决方案2】:

      你想要哪一个:
      1-Double 到整数
      2-双整数
      3-double 到 int
      4-double 到整数

      1- 不能直接将 Double 转换为 Integer。您必须将 Double 转换为 double ,然后将 double 转换为 int ,最后将 int 转换为 Integer

      Double D= Double.valueOf(5.0);
      double d= D.doubleValue();
      int i=(int)d;
      Integer I= Integer.valueOf(i);
      

      你可以这样处理第 2 行和第 3 行:

      int i= D.intValue();
      

      2- 加倍到 int

      Double D= Double.valueOf(5.0);
      int i= D.intValue();
      

      3- double 到 int :

      double d;
      int i=(int)d  
      

      你也可以在第 2 行使用圆形:

      int i=Math.round(d);
      

      4- 整数倍

      double d;
      int i=(int)d
      Integer I= Integer.valueOf(i);
      

      再次,您可以在第 2 行使用 round:

      int i=Math.round(d);
      

      【讨论】:

        【解决方案3】:

        你应该像下面这样设置文本:

        display.setText((int)result + "well done");
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-05-17
          • 1970-01-01
          • 2019-07-19
          • 2015-10-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多