如何在单个语句中将double和int相乘并转换为int

时间:2016-01-15 23:13:30

标签: java

我正试图在没有任何运气的情况下完成以下任务

int a = 1;
double b = 0.5;

int myInteger = (int) a*b; 

2 个答案:

答案 0 :(得分:1)

您已将b声明为整数。

试试这个:

int a = 1;
double b = 0.5d;
int myInteger = a*b;

答案 1 :(得分:0)

你的代码是对的吗?你有两个int原语,没有double。按照你编写它的方式,b变量将被截断为0,因为小数点后的所有内容都将被丢弃。

我猜这是你想要的。使用parens强制乘法然后施放。如果没有围绕a * b的parens,编译器将因截断引起的精度损失而引发警告/错误。

int a = 2;
double b = 2.5;

int result = (int) (a*b);
System.out.println(result);

结果为5。

相关问题