📅  最后修改于: 2023-12-03 15:39:12.983000             🧑  作者: Mango
在编程中,时常会需要将一个数值 N 转换为最小可能值,也就是将 N 转换成它所在的区间的左端点或右端点(或者不变)。这个过程简单地说就是取 N 与一个给定值的最小值或最大值。
以下是在不同编程语言中实现这个功能的示例代码。
def clamp(value, minimum, maximum):
return max(min(value, maximum), minimum)
n = 15
minimum = 0
maximum = 10
n_clamped = clamp(n, minimum, maximum)
print(n_clamped) # 输出 10
function clamp(value, minimum, maximum) {
return Math.min(Math.max(value, minimum), maximum);
}
let n = 15;
let minimum = 0;
let maximum = 10;
let n_clamped = clamp(n, minimum, maximum);
console.log(n_clamped); // 输出 10
public class Main {
public static void main(String[] args) {
int n = 15;
int minimum = 0;
int maximum = 10;
int n_clamped = clamp(n, minimum, maximum);
System.out.println(n_clamped); // 输出 10
}
public static int clamp(int value, int minimum, int maximum) {
return Math.max(Math.min(value, maximum), minimum);
}
}
#include <iostream>
#include <algorithm>
using namespace std;
int clamp(int value, int minimum, int maximum) {
return max(min(value, maximum), minimum);
}
int main() {
int n = 15;
int minimum = 0;
int maximum = 10;
int n_clamped = clamp(n, minimum, maximum);
cout << n_clamped << endl; // 输出 10
return 0;
}
无论使用哪种编程语言,功能都是类似的,根据需要选择适合自己的实现方式即可。