Mul 2编号为Double和Int in Swift

时间:2017-09-13 08:41:34

标签: swift

如何将以下代码从java转换为Swift,它们的结果不同。

//爪哇

int x = 100;
x -= (0.65 * 19);
System.out.println(x);    // 87

//夫特

var z : Int = 100
z -= Int(0.65 * 19)
print(z)                 // 88

1 个答案:

答案 0 :(得分:2)

在Java混合整数/双算术中,所有操作数 首先转换为double。因此x转换为double,然后减去(0.65 * 19)(生成87.65),最后结果被截断为int(结果为{ {1}})并再次分配给87

Swift中没有隐式类型转换。在

x

您将乘法结果截断为z -= Int(0.65 * 19) 之前12中扣除。

为了获得与Java相同的结果,你必须这样做 同样的转换明确:

100