2016-11-08 28 views
0

我想比較2位小數以查看哪一個更大。我想比較2位小數以查看哪一個更大

這似乎不適用於小數,只適用於整數(例如1> 2),不適用於浮點數(1.67> 1.98)。

這是我的例子不工作:

this.testOrder = (valA, valB): boolean => { 
    const radix = 10; 
    return parseInt(valA, radix) > parseInt(valB, radix); 
}; 
+1

'parseInt函數(1.67,10 )= 2'和'parseInt(1.98,10)= 2'。你應該使用'parseFloat()' – Rajesh

+0

嗯,是的,因爲'parseInt()'在這段時間之後就放棄了所有的東西。 – rorschach

回答

2

使用parseFloat而不是parseInt

parseInt只接受字符串的整數部分。

0

嘗試以下溶液:

this.testOrder = (valA, valB): boolean => { 
    const radix = 10; 
    return parseFloat(valA, radix) > parseFloat(valB, radix); 
}; 
0

可以使用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);

相關問題