gpt4 book ai didi

swift - Mul 2 数字在 Swift 中作为 Double 和 Int

转载 作者:搜寻专家 更新时间:2023-11-01 07:08:51 25 4
gpt4 key购买 nike

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

//Java

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

//swift

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

最佳答案

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

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

z -= Int(0.65 * 19)

您正在将乘法结果截断为 12之前它从100 中减去。

为了获得与 Java 中相同的结果,您必须执行显式相同的转换:

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

关于swift - Mul 2 数字在 Swift 中作为 Double 和 Int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46192821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com