15
C#では、double型をキャスト(float)
またはConvert.ToSingle()
で浮動小数点数に変換できます。キャストまたはConvert.ToSingle()でdoubleをfloatに変換しますか?
double x = 3.141592653589793238463;
float a = (float)x;
float b = Convert.ToSingle(x);
a
とb
は等しくなります。
両方の技術に違いはありますか?どちらを選ぶべきですか? .NET reference sourceから
ToSingleを使用する理由はまったくないように思われるので、個人的な選択ではなく、客観的にキャストを使用する方が良いです。 – usr
'Convert'クラスは、.NET Frameworkの異なる基本タイプ間の言語中立な変換方法を意図しています。 .NET上で実行されるすべての言語が実際にC#のようなキャスト演算子を持っているわけではありません。たとえば、VB.NETではCType()、CDbl()、DirectCast()、暗黙の変換を持っていますが、C#のキャスト演算子とまったく同じセマンティクスはありません。 –