以下のエラーが原因で、コードがコンパイルされません。
次のメソッドまたはプロパティ間の呼び出しがあいまいです: 'System.Math.Round(double, int)' と 'System.Math.Round(decimal, int)
私のコードは
Math.Round(new FileInfo(strFilePath).Length / 1024, 1)
どうすればこれを修正できますか?
ありがとう
Math.Round(new FileInfo(strFilePath).Length / 1024d, 1)
問題は、整数除算を行うと (結果は にもなりますint
)、暗黙的に と の両方にint
変換できることです。したがって、式がそれらのいずれかになることを確認する必要があります。おそらくあなたが望むものです。double
decimal
double
Math.Round(new FileInfo(strFilePath).Length / 1024.0, 1)
Math.Round((double) (new FileInfo(strFilePath).Length / 1024), 1)