我解决了我正在工作的代码问题,但这是一些困扰我的事情。 我知道在某些情况下,浮点数会干扰四舍五入。 我知道php使用类型推断,在字符串之间进行算术运算时存在自动转换(我的意思是,在这种特定情况下,在我的示例中)。
手动编写代码执行相同的操作时,160.2 * 50的结果为8010,此时不需要对整数结果进行四舍五入。 这很尴尬。 如果有人知道为什么会发生这种情况,那将启迪我。
我解决了问题,我的代码现在可以工作了;这只是为了好玩。我想知道为什么和如何,逐步了解php是如何混淆这个的。Php在哪一步失去了分辨率?
感谢您提前的帮助 :)
手动编写代码执行相同的操作时,160.2 * 50的结果为8010,此时不需要对整数结果进行四舍五入。 这很尴尬。 如果有人知道为什么会发生这种情况,那将启迪我。
echo "160.2" * "50"; // gives 8010
echo (int) ((float)"160.2" * (int)"50"); // Gives 8009
我解决了问题,我的代码现在可以工作了;这只是为了好玩。我想知道为什么和如何,逐步了解php是如何混淆这个的。Php在哪一步失去了分辨率?
感谢您提前的帮助 :)