doubleの小数点以下の桁で二重のリストをソートする方法。例えば
:入力<1.2, 2.3, 1.12, 5.1>
については、ソートした後、出力 はOrderBy()
を通してあなたがこれを達成することができます<5.1, 1.12, 1.2, 2.3>
C#では、仮数部のリストをソートする方法は?
5
A
答えて
11
と次のようなとしてMath.Truncate
方法でなければなりません。 x-Math.Truncate(x)
は小数点以下の数字を、OrderBy
は昇順に並べます。このexampleを見ていると、次のスニペットで
List<double> input = new List<double>(){1.2, 2.3, 1.12, 5.1};
input = input.OrderBy(x=>x-Math.Truncate(x)).ToList();
Console.WriteLine(String.Join("\n",input));
を自分で試すか、あなたが同様にこれを試すことができます.OrderBy(x=>x-(int)x)
代わりOrderBy(x=>x-Math.Truncate(x)
1
List
ためには、IComparer<T>
のインスタンスを取るSort()
方法のoverloadを持っています。 interfaceは実装が非常に簡単で、あなたが好きな方法でソートできるようになります:私はlinq
タグが、このソリューションを参照してください
input.Sort(new MantissaComparer());
:
public class MantissaComparer : IComparer<double>
{
public int Compare(double x, double y)
{
return Comparer<double>.Default.Compare(x - Math.Truncate(x), y - Math.Truncate(y));
}
}
は、このようなカスタム比較子を消費します単純な「IComparer」インターフェースのために「オーバーエンジニアリング」を避けながら、コード全体で再利用可能です。
+0
ウィークスの魅力。ニースの実装 –
1
また、あなたが試みた何Math.Truncate
var sortedlist = list.OrderBy(n => n - (int)n).ToList();
Console.Write(String.Join(",", sortedlist));
関連する問題
- 1. C#でリストをソートする方法
- 2. JavaScriptでリストをソートする方法は?
- 3. このリストをソートする方法は?
- 4. C#の既存のリストと比較してリストをソートする方法は?
- 5. djangoの数に基づいてリストをソートする方法は?
- 6. Cでリストをソートする
- 7. 複数の数値のリストで辞書をソートする方法は?
- 8. EFから返されたエンティティで内部リストをソートする方法は?
- 9. NSMutableArray [Objective C]の整数値をソートする方法は?
- 10. 最高の数で文字列のリストをソートする方法
- 11. C++での純粋仮想関数の使用方法は?
- 12. RecyclerViewでリストをソートする方法
- 13. ボタンクリックで角度1のリストをソートする方法は?
- 14. ルアの内部テーブルを "スコア"と "インデックス"でソートする方法は?
- 15. Rails 3.仮想属性によるデフォルトのソート方法は?
- 16. 配列リストではなく配列リストをソートする方法は?
- 17. タグだけを使ってJSPでリスト(ランタイム変数)をソートする方法は?
- 18. C#リスト内の数字をソート
- 19. この仮想演算子をC++でオーバーライドする方法は?
- 20. C++のテンプレートクラスで純粋仮想関数をオーバーライドする方法は?
- 21. クラスオブジェクトのリストをソートする方法
- 22. 指定された順序でリストをソートする方法は?
- 23. マップを値リストでソートする方法は?
- 24. リスト断片をアンドロイドでソートする方法は?
- 25. Javascriptで複雑なリストをソートする方法は?
- 26. Javaで異種リストをソートする方法は?
- 27. C#でXmlDocumentの要素の子をソートする方法は?
- 28. C++で文字列を整数でソートする方法はありますか?
- 29. リストのリストをソートしてリストを削除する方法
- 30. Rのリストの要素をソートする方法は?
を使用せずに、以下試すことができますか?何が問題になっているのですか?それとも、あなたのために仕事をしてくれる人がほしいのですか?または質問の歴史は後者を示すようです。 – TnTinMn
ダブルの小数部分を得る方法を知っていますか?あなたはユーザー定義ルールでソートする方法を知っていますか?あるいは、これらの2つのコードをGoogleに提供できますか?それらをまとめると、あなたの答えがあります。 –