我有两个字符串:50%
和60%
。我正在尝试比较两个字符串,并发现60%
比50%
大。比较这两个字符串的最简单,最干净的方法是什么?我总是可以删除%
符号,将字符串转换为int并进行比较。但是有更好的方法吗?
答案 0 :(得分:3)
您可以使用parseInt仅解析数字部分。
let x = "50%";
let y = "60%";
parseInt(x)>parseInt(y)?console.log(`${x} is greater than ${y}`):console.log(`${y} is greater than ${x}`);
Console: 60% is greater than 50%
答案 1 :(得分:0)
let percentage1 = parseFloat('50%');
let percentage2 = parseFloat('60%');
if (percentage1 <= percentage2) {
// Code here
}
答案 2 :(得分:0)
执行字符串替换以删除%
并在比较时将其parseInt
答案 3 :(得分:0)
function cmpPercentages(str1, str2){
var per1 = parseFloat(str1);
var per2 = parseFloat(str2);
if(per1 > per2){
return 1;
}else if(per2 > per1){
return -1;
}else{
return 0;
}
}
其中1表示第一个百分比较高,-1表示第一个百分比小于第二个百分比,而0表示它们相等,就像localeCompare的结果一样。