【问题标题】: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");