2013-03-14 60 views
2

如果我将150除以100,则应该得到1.5。但我得到1.0的时候我分像我一样如下:在C#中获得确切的值

double result = 150/100; 

谁能告诉我怎么去1.5?

+2

查找整数除法 - “100”是一个整数 - 使用双精度 – BrokenGlass 2013-03-14 03:56:43

回答

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; 

的等分作为一个Int先完成,然后它被强制转换为双,因此你会得到1.0 ,你需要在方程中有一个双倍的数字,以便将它分成双倍数。

1

如果你只是使用像150和100这样的字面值,C#会将它们看作整数,整数运算总是“舍入”。你可以添加一个标志,如浮点“f”或小数点“m”,不能得到整数数学。例如result = 150m/100m会给你一个不同于result = 150/100的答案。