例のように、linq ステートメント内で 2 桁の整数を除算した 10 進数の結果を取得する必要があります。
from error in errorslist
select new
{
res = error.count1 / error.count2
}
結果を整数として返し、Convert.ToDecimal
関数を使用できません
例のように、linq ステートメント内で 2 桁の整数を除算した 10 進数の結果を取得する必要があります。
from error in errorslist
select new
{
res = error.count1 / error.count2
}
結果を整数として返し、Convert.ToDecimal
関数を使用できません
整数除算int
では、結果の type( ) に格納できないため、小数部分が切り捨てられint
ます。したがって、両方の少なくとも 1 つは浮動小数点型でなければなりません。
from error in errorslist
select new
{
res = error.count1 / (double) error.count2
}
また
from error in errorslist
select new
{
res = error.count1 / (1.0 * error.count2)
}
更新結果のタイプを次のようにしたい場合decimal
(質問のタイトルのため):
from error in errorslist
select new
{
res = error.count1 / (decimal) error.count2
}
値の少なくとも 1 つをdecimal
:
from error in errorslist
select new
{
res = error.count1 / (error.count2 + 0m)
}