在C#中进行除法以获得精确值

本文关键字:除法 | 更新日期: 2023-09-27 18:04:01

如果我把150除以100,我应该得到1.5。但当我像下面那样划分时,我得到了1.0:

double result = 150 / 100;

有人能告诉我如何得到1.5吗?

在C#中进行除法以获得精确值

尝试:

 double result = (double)150/100;

当你像以前一样进行分割时:

double result = 150/100;

这个除法首先是作为Int完成的,然后它被投射为double,所以你得到了1.0,你需要在等式中有一个double,它才能被除法为double。

将其中一个int强制转换为浮点类型。你应该研究一下小数和双精度之间的差异,并决定你想要哪一个,但要使用双精度:

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