結果をfloat、double、decimalに格納すると除算後、結果は0になります。どのように格納できますか?10進数で数値を格納する0
decimal days = 0.00m;
days= 110/480;
実際の結果は0.2291666666666667ですが、可変日数は0になります。私はデータ型float、double &小数を試しています。
結果をfloat、double、decimalに格納すると除算後、結果は0になります。どのように格納できますか?10進数で数値を格納する0
decimal days = 0.00m;
days= 110/480;
実際の結果は0.2291666666666667ですが、可変日数は0になります。私はデータ型float、double &小数を試しています。
これはあなたに正しい結果得られます:
decimal days = 0.00m;
days= 110m/480m;
説明:あなたは、小数点として日を定義してきたように、小数点値「M」を表現するためには、値が計算に使用される、
110 is Int32
110m is Decimal
を末尾にまた小数でなければなりません。これが価値表現を理解するのに役立つことを願っています。
@dumetruloで指摘されているように、11& 480は整数です。整数除算後の結果は110/480です。この結果は暗黙的に10進数にキャストされ、0のままです。
明確にするために: '' 110/480''は結果の0の整数除算です。この結果は暗黙のうちに10進数にキャストされ、0のままになります。 – dumetrulo
あなたはそこにあります、私はそれをソリューションに追加しています –
try days = 110.0/480; –