正弦规则未获得预期输出
本文关键字:输出 规则 | 更新日期: 2023-09-27 18:33:16
这是我正在编写的一段代码的一小部分。这使用一个方程来计算 y 的值。以度为单位的方程是 y= 90sin(((2x)/3)-30),以口粮为单位的方程(这是我在代码中使用的方程)y = 90sin(((x-45)*pi)/270)
如果我将 x 设置为 45 或 315,则输出应为 0,如果 x 为 180,则 y 应为 90。这在普通计算器上使用时工作正常,但是当尝试将其写入代码时,它无法正确输出。
1. X--------Expected Y---Code Output
2. 315--------0----------1.10214571844014E-14
3. 180-------90----------90
4. 45----- ---0-----------0
这是程序:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Basic_s
{
class Program
{
static void Main(string[] args)
{
double x = 315;
double sinCon = ((x-45)*Math.PI)/270;
double sinRad = Math.Sin(sinCon);
double y= sinRad* 90;
Console.WriteLine(sinCon.ToString());
Console.WriteLine(sinRad.ToString());
Console.WriteLine(y.ToString());
System.Threading.Thread.Sleep(50000);
}
}
}
与计算机相比,普通计算器没有那么高的精度。如果您看到没有科学记数法的十进制形式的结果,则结果可以忽略不计,并且接近 0。计算器显示这个零。你可以使用Math.Round来解决这个问题。
double y= Math.Round(sinRad* 90,5);