在C#中进行除法以获得精确值
本文关键字:除法 | 更新日期: 2023-09-27 18:04:01
如果我把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强制转换为浮点类型。你应该研究一下小数和双精度之间的差异,并决定你想要哪一个,但要使用双精度:
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
不同的答案。