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

将其中一个整数转换为浮点类型。您应该查看小数和双精度之间的区别并决定您想要哪个,但要使用双精度:

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# 会将它们视为整数,并且整数数学总是“向下舍入”。您可以为浮点数添加一个标志,如“f”或为十进制添加“m”,以不获取整数数学。所以例如result = 150m/100m会给你一个不同的答案result = 150/100

于 2013-03-14T03:59:40.150 回答