| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 820 人关注过本帖
标题:Math.PI
只看楼主 加入收藏
白5130
Rank: 2
等 级:论坛游民
威 望:1
帖 子:26
专家分:17
注 册:2013-4-13
结帖率:75%
收藏
已结贴  问题点数:5 回复次数:2 
Math.PI
using System;
class MyMain
{
    static void Main()
    {
        double a, b , c , d;
        a = Math.Sin(Math.PI);
        b = Math.Sin(Math.PI / 2);
        c = Math.Cos(Math.PI);
        d = Math.Cos(Math.PI / 2);
        Console.WriteLine(a);
        Console.WriteLine(b);
        Console.WriteLine(c);
        Console.WriteLine(d);
        Console.Read();
    }
}//为什么 a 与 d 输出的不是 0 Math.PI 不是代表π,怎么用在 b c里就对,在而在 a d中就不对了呢? 还请前辈指点
搜索更多相关主题的帖子: double 
2013-06-06 22:31
h346551990
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2013-6-7
收藏
得分:5 
首先是误差,毕竟Math.PI 不是数学意义上的π,它只是一个常数值-接近π而已。
它能计算出Math.Sin(Math.PI / 2) 为1.0 而Math.Sin(Math.PI)是0.00000000000000012246063538223773
是跟Math.Sin的内部算法有关,算法求出来就是这个值。

然后没有了,计算机对于有些情况要考虑误差。
2013-06-07 11:16
QJlin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:186
专家分:560
注 册:2013-5-18
收藏
得分:0 
pi本来就是个近似值,人家数学上是取整型的,但是你这里用double当然会取它的有效值,你如果想取值为0,把double改为int就行了!

慢慢前进走,不求一步登天,只求慢慢前进
2013-06-07 12:07
快速回复:Math.PI
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.065675 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved