Intl.Collator
および有効にするオプションを使用して 10 進数を並べ替えると、10 進数がnumeric
正しく比較されません。
一部のブラウザでは、「0.005」と「0.05」を比較すると、数値が同じであるため「0」が返されます。
さまざまなブラウザーでの結果:
- クローム 54 = 0
- Firefox 49 = 0
- エッジ = -1
- IE 11 = -1
// Returns 0
console.log(new Intl.Collator(undefined, { numeric: true}).compare(0.000005, 0.05))
何が悪いのか教えてくれる人はいますか?
Firefox のバグとして報告: https://bugzilla.mozilla.org/show_bug.cgi?id=1312388