Intl.Collator
を使用して10進数をソートし、有効にするオプションnumeric
は小数点を誤って比較します。数値オプション付きIntl.Collatorと自然なソートは、小数点で正しくソートされません。
「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
私は端に-1を取得します。 –
ありがとう@NinaScholz、私は私が得る別の結果で質問を更新しました。 – Nisd