C#双精度不显示

时间:2018-06-21 07:29:02

标签: c# double

int a=870,b0=-20, b1=120, a0=0, a1=3584;            
double d=(b0 + (b1 - b0) * ((a - a0) / (a1 - a0)));
Console.Write(d);

给出的结果为-20。我希望它精确到小数点后几位。

c#怎么了?

2 个答案:

答案 0 :(得分:1)

您正在使用int。如果要使用双精度,可以在进行除法运算之前将其转换为double,或者只是简单地将它们定义为double。它正在按照您写的方式进行整数除法。

答案 1 :(得分:0)

您正在整数之间进行运算,因此结果是整数。试试:

double a=870,b0=-20, b1=120, a0=0, a1=3584;            
double d=(b0 + (b1 - b0) * ((a - a0) / (a1 - a0)));
Console.Write(d);