1

例のように、linq ステートメント内で 2 桁の整数を除算した 10 進数の結果を取得する必要があります。

from error in errorslist
select new
{
    res = error.count1 / error.count2
} 

結果を整数として返し、Convert.ToDecimal関数を使用できません

4

2 に答える 2

4

整数除算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
} 
于 2013-07-16T08:16:56.993 に答える
0

値の少なくとも 1 つをdecimal:

from error in errorslist
select new
{
    res = error.count1 / (error.count2 + 0m)
}
于 2013-07-16T08:27:22.033 に答える