You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何编程语言中三角函数返回看似错误的结果?如何修复?

为什么你调用sin(90)得不到预期的1?

这是因为绝大多数编程语言的标准三角函数(比如sin、cos、tan)默认要求输入弧度,而非我们日常用的角度。你传入的90会被程序当成90弧度,转换成角度的话约等于5156.6度,对应的正弦值自然不是1。

修复方法

  • 把角度转成弧度后再传入函数
    转换公式是:弧度 = 角度 × π / 180
    举几个常见语言的示例:
    • Python:
      import math
      print(math.sin(math.radians(90)))  # 输出1.0
      # 或者手动计算弧度
      print(math.sin(90 * math.pi / 180))
      
    • JavaScript:
      console.log(Math.sin(Math.PI / 2));  // 输出1(90度对应π/2弧度)
      // 或者手动转换
      console.log(Math.sin(90 * Math.PI / 180));
      
    • Java:
      import java.lang.Math;
      public class Main {
          public static void main(String[] args) {
              System.out.println(Math.sin(Math.toRadians(90)));  // 输出1.0
          }
      }
      
  • 使用语言/库提供的角度版三角函数
    部分编程语言或第三方库会提供直接接收角度的三角函数(比如命名为sinDeg、cosDeg这类),可以直接调用,但这类不是通用标准,需要查看对应语言的文档确认。

内容的提问来源于stack exchange,提问作者Justine Krejcha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 08:30:05