我不确定我是否在选项4(除法)中对浮点除法使用显式类型转换。我需要一些帮助来理解什么是浮点除法。
我必须使用整数来存储2个操作数,一个double来存储结果。必须在选项4中对浮点除法使用显式类型转换。还可以使用switch语句来处理菜单选项。每次计算后
x = x.to_frame('count').reset_index()
答案 0 :(得分:2)
不,这不是一个明确的类型转换。你会想要使用这样的东西:
result = ((double) num1) / ((double) num2);
实际上,由于/
运算符的规则不断扩大,您只需要其中一个显式转换,但两者都没有坏处。实际上,因为强制转换运算符()
的优先级高于除法运算符/
,所以可以将其写为:
result = (double) num1 / num2;
结合了分子的显式演员和分母的隐式演员。
答案 1 :(得分:0)
显式类型转换是指告诉编译器表达式结果的类型。通常,您不需要输入强制转换,因为表达式的结果已经知道。
例如:
int a = 1, b = 2;
int c = a + b; // The "type" of a + b is int. No explicit cast.
但我们可以明确地将该表达式转换为其他类型:
int a = Integer.MAX_VALUE, b = 2;
double c = (double) a + (double) b; // Explicitly cast to avoid integer overflow.
第二个版本告诉编译器将a
和b
转换为双精度,然后将它们加在一起。此表达式的结果也将是double类型。
就像@Ted Hopp所说,你不需要像这样显式地转换这两个操作数。在这种情况下,投射a
或b
会产生相同的效果。