(int)myDouble
と違うことはあり(int)Math.Truncate(myDouble)
ますか?
どちらか一方を優先する理由はありますか?
Math.Truncate
結果を小数部のないdoubleとして保持する必要がある場合を対象としています。それをintに変換したい場合は、キャストを直接使用してください。
編集:参考のために、「<ahref="http://msdn.microsoft.com/en-us/library/yht2cx7b.aspx"rel="noreferrer">明示的な数値変換テーブル」の関連ドキュメントを次に示します。
doubleまたはfloat値から整数型に変換すると、値は切り捨てられます。
Ignacio Vazquezが 指摘したように、myDoubleが大きすぎる場合(int)myDouble
と同じように、Abramsは失敗します。(int)Math.Truncate(myDouble)
したがって、出力に違いはありませんが、(int)myDouble
より高速に動作しています。