2个浮点数之间的差异

时间:2015-08-23 12:15:35

标签: 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语句?

1 个答案:

答案 0 :(得分:5)

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

enter image description here

-110100之间的距离是-1100Mathf.Abs(-110 - 0) = 110)之间距离的总和,以及100与{之间的距离{1}}(0)。即:Mathf.Abs(100 - 0) = 100 + 110 = 100。也许你有不同的操作?如果您想要参数的绝对值之间的距离,请尝试:

210

将为Mathf.Abs(Mathf.Abs(X) - Mathf.Abs(Y)) 10生成-110