我想知道是否有一些内置钳位方法可以将值夹在一个范围之间,比如介于(0,1)之间?
clamp(a) = a if a is in (0,1)
a < 0 a = 0
a > 1 a = 1
答案 0 :(得分:1)
C ++没有内置钳位功能。您可以实现自己的,或者如果您正好使用boost,则会有clamp function。
答案 1 :(得分:1)
C ++ 17引入了std::clamp()
。现在,您不需要实现自己的。只需使用std::clamp(a, 0.0, 1.0)
如果您没有C ++ 17,但可以选择使用boost,那么请使用boost::algorithm::clamp(n, lower, upper);
相关: