2013-03-14 5 views
2

Если я делю 150 на 100, я должен получить 1.5. Но я получаю 1.0, когда делился, как я делал ниже:Отдел в C#, чтобы получить точное значение

double result = 150/100; 

Может ли кто-нибудь сказать мне, как получить 1,5?

+2

посмотреть целочисленное деление - '100' - целое число - вместо этого использовать двойные – BrokenGlass

ответ

4
double result = (150.0/100.0) 

Один или оба номера должны быть с плавающей точкой/двойной на правой стороне =

5

В ролях одного из целых чисел к типу с плавающей точкой. Вы должны смотреть на разницу между десятичной и дважды, и решить, какой вы хотите, но использовать двойные:

double result = (double)150/100; 
3

Сделайте номер float

var result = 150/100f 

или вы можете сделать любой из числа плавать путем добавления .0:

double result=150.0/100 

или

double result=150/100.0 
8

попробовать:

double result = (double)150/100; 

Когда вы выполняете деление, как и раньше:

double result = 150/100; 

DeVision сначала делается как Int, а затем он получает брошена как двойной, следовательно, вы получите 1,0 , вам нужно иметь двойное уравнение, чтобы оно делилось как двойное.

1

Если вы используете только такие значения, как 150 и 100, C# будет рассматривать их как целые числа, а целочисленная математика всегда «округляется». Вы можете добавить флаг «f» для float или «m» для десятичного значения, чтобы не получить целочисленную математику. Так, например, result = 150m/100m даст вам другой ответ, чем result = 150/100.