我想比較2位小數以查看哪一個更大。我想比較2位小數以查看哪一個更大
這似乎不適用於小數,只適用於整數(例如1> 2),不適用於浮點數(1.67> 1.98)。
這是我的例子不工作:
this.testOrder = (valA, valB): boolean => {
const radix = 10;
return parseInt(valA, radix) > parseInt(valB, radix);
};
我想比較2位小數以查看哪一個更大。我想比較2位小數以查看哪一個更大
這似乎不適用於小數,只適用於整數(例如1> 2),不適用於浮點數(1.67> 1.98)。
這是我的例子不工作:
this.testOrder = (valA, valB): boolean => {
const radix = 10;
return parseInt(valA, radix) > parseInt(valB, radix);
};
使用parseFloat
而不是parseInt
。
parseInt
只接受字符串的整數部分。
嘗試以下溶液:
this.testOrder = (valA, valB): boolean => {
const radix = 10;
return parseFloat(valA, radix) > parseFloat(valB, radix);
};
可以使用Unary plus (+):
this.testOrder = (valA, valB): boolean => {
return +valA > +valB;
};
實施例:
var a = +'1.67',
b = +'1.98';
console.log('a:', a);
console.log('b:', b);
console.log('boolean result (a > b):', a > b);
'parseInt函數(1.67,10 )= 2'和'parseInt(1.98,10)= 2'。你應該使用'parseFloat()' – Rajesh
嗯,是的,因爲'parseInt()'在這段時間之後就放棄了所有的東西。 – rorschach