150を100で割ると、1.5になるはずです。しかし、以下のように分割すると、1.0になります。
double result = 150 / 100;
1.5の入手方法を教えてもらえますか?
150を100で割ると、1.5になるはずです。しかし、以下のように分割すると、1.0になります。
double result = 150 / 100;
1.5の入手方法を教えてもらえますか?
試す:
double result = (double)150/100;
以前のように分割を実行している場合:
double result = 150/100;
除算は最初に Int として行われ、次に double としてキャストされるため、1.0 になります。double として除算するには、式に double が必要です。
int の 1 つを浮動小数点型にキャストします。decimal と double の違いを調べて、どちらが必要かを決定する必要がありますが、double を使用するには:
double result = (double)150 / 100;
数を作るfloat
var result = 150/100f
または、次を追加することで、数値を浮動させることができます.0
。
double result=150.0/100
また
double result=150/100.0
double result = (150.0/100.0)
一方または両方の数値は、の右側にあるフロート/ダブルである必要があります=
150 や 100 などのリテラル値を使用しているだけの場合、C# はそれらを整数として扱い、整数演算は常に "切り捨て" ます。float の場合は "f"、10 進数の場合は "m" などのフラグを追加して、整数演算を取得しないようにすることができます。たとえばresult = 150m/100m
、 とは異なる答えが得られますresult = 150/100
。