2个浮点数之间的差异

-9 c# algorithm math

如何获得两个花车之间的"距离"? Mathf.Abs(X - Y)只有当它们都在零的同一侧时才能正常工作.例如:

  • Mathf.Abs(100 - 140) = 40,
  • Mathf.Abs(40 - 120) = 80,
  • Mathf.Abs(-120 - (-130) = 10,

  • Mathf.Abs(-100 - 110) = 210 ...当其中一个浮点数低于另一个且另一个浮点数高于零时,它不起作用.

这似乎是一个非常普遍的问题,是否有一些优雅的解决方案,而不诉诸一堆if语句?

Bar*_*zKP 5

结果是正确的.尝试将其可视化:

在此输入图像描述

之间的距离-110100是距离之间的总和-1100(Mathf.Abs(-110 - 0) = 110之间)和距离1000(Mathf.Abs(100 - 0) = 100).那就是:110+ 100= 210.也许你有不同的操作?如果你想要参数的绝对值之间的距离,那么尝试:

Mathf.Abs(Mathf.Abs(X) - Mathf.Abs(Y))
Run Code Online (Sandbox Code Playgroud)

这将产生10-110100.