在objective-c中是否有一种更干净的方法来限制两个数字之间的值



有没有更简洁的方法来编写以下代码?

if (myValue > 100) 
  myValue = 100;
if (myValue < 0) 
  myValue = 0;

提前感谢您的智慧!

您可以使用

MAXMIN,尽管它不一定那么清楚。

myValue = MAX(MIN(myValue, 100), 0);
myValue = (myValue > 100) ? 100 : myValue;
myValue = (myValue < 0) ? 0 : myValue;

myValue = (myValue > 100) ? 100 : ((myValue < 0) ? 0 : myValue);

当然,即使您执行 2 行,我也会使用 MIN/MAX

甚至可能

#define MINMAX(_min_,_max_,_n_) (MAX(MIN(_n_, _max_), _min_))

最新更新