5

150を100で割ると、1.5になるはずです。しかし、以下のように分割すると、1.0になります。

double result = 150 / 100;

1.5の入手方法を教えてもらえますか?

4

5 に答える 5

14

試す:

 double result = (double)150/100;

以前のように分割を実行している場合:

double result = 150/100;

除算は最初に Int として行われ、次に double としてキャストされるため、1.0 になります。double として除算するには、式に double が必要です。

于 2013-03-14T03:59:36.513 に答える
8

int の 1 つを浮動小数点型にキャストします。decimal と double の違いを調べて、どちらが必要かを決定する必要がありますが、double を使用するには:

double result = (double)150 / 100;
于 2013-03-14T03:57:34.530 に答える
5

数を作るfloat

var result = 150/100f

または、次を追加することで、数値を浮動させることができます.0

double result=150.0/100

また

double result=150/100.0
于 2013-03-14T03:58:29.373 に答える
4
double result = (150.0/100.0)

一方または両方の数値は、の右側にあるフロート/ダブルである必要があります=

于 2013-03-14T03:56:59.410 に答える
2

150 や 100 などのリテラル値を使用しているだけの場合、C# はそれらを整数として扱い、整数演算は常に "切り捨て" ます。float の場合は "f"、10 進数の場合は "m" などのフラグを追加して、整数演算を取得しないようにすることができます。たとえばresult = 150m/100m、 とは異なる答えが得られますresult = 150/100

于 2013-03-14T03:59:40.150 に答える