计算三角形的面积

3D-*_*tiv 2 c#

我正在使用这个代码来计算三角形的面积,值为2,2和1.当我在我的袖珍计算器中进行计算时,我得到0.97,但在C#中它是0.我想它有一些关于舍入小数,但我已经改变了i和up的最后一个值,但结果仍然是0!我究竟做错了什么?帮助精确!谢谢!

double i = (valueA + valueB + valueC) / 2;
return Math.Round(Math.Sqrt(i * (i - valueA) * (i - valueB) * (i - valueC)),1);
Run Code Online (Sandbox Code Playgroud)

Nik*_*wal 8

除以2.02d2D

原因:整数除法仅给出整数部分并删除小数部分.

2是整数.2.0是双重价值.

double i = (valueA + valueB + valueC) / 2.0;
Run Code Online (Sandbox Code Playgroud)

要么

double i = (valueA + valueB + valueC) / 2d; 
Run Code Online (Sandbox Code Playgroud)

要么

double i = (valueA + valueB + valueC) / 2D;
Run Code Online (Sandbox Code Playgroud)

第二行保持不变

return Math.Round(Math.Sqrt(i * (i - valueA) * (i - valueB) * (i - valueC)),1);
Run Code Online (Sandbox Code Playgroud)