单位换算 · 长度面积

角度换算

度/弧度/梯度/时分秒

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 54 次使用
编辑任一单位,其余实时联动换算 · 8 单位
有效数字 8 极大 / 极小值自动科学计数法 · 以「度 °」为换算基准
度分秒 DMSdegrees · minutes · seconds — 天文 / GPS 坐标常用
° =
角度圆盘 · 终边从 0°(正右)逆时针旋转,当前 90°
归一 0–360°90°
象限 / 类型第一象限
正弦 sin1
余弦 cos0

常用换算速查 quick reference · 点击填入

单位简介 about the units

就绪 · 输入任一单位数值即可全单位联动换算
第一节

关于本工具

About

测绘外业收仪器时,得把全站仪读出的度分秒换算成弧度才能写进平差软件,手算一步错后续全白干。这个工具接受度/弧度/梯度/时分秒四种输入,输出其余三种等价数值,精度到小数点后八位,满足工程测量与天文计算需求。换算逻辑在浏览器内执行,输入数据不会离开本地。

使用场景

机床主轴调参

数控机床换刀时,主轴角度需从弧度值转为度分秒格式写入参数表。操作工小刘拿着PLC给出的0.7854 rad,对着手册上的度分秒表格反复换算,怕输错一个数导致撞刀。用本工具输入0.7854,直接得到45°00′00″,复制粘贴进系统,前后不到10秒,杜绝了人工查表抄错的风险。

天文观测记录整理

天文爱好者老张用星图软件导出一组赤经数据,单位是时角(hms),但手头星表用的是度。他需要把23h45m12s换算成356.3°才能与星图对照确认目标。本工具支持时分秒与度互转,输入23:45:12直接得356.3°,省去心算时角转度的繁琐步骤,观测记录效率翻倍。

游戏三维坐标转角度

独立游戏开发者小陈在Unity中设置摄像机旋转,API参数要求弧度,但他习惯用度来设计镜头路径。每次手动乘π/180容易出错,导致镜头抖动。用本工具输入45°直接得0.7854 rad,反向也能秒转,调试时反复验证角度值,确保镜头平滑过渡。

建筑图纸坡度复核

施工员老王拿到一份国外图纸,屋顶坡度标注为15%(梯度制),但国内施工队只认度。他需要确认15%梯度对应多少度,才能指导工人支模。本工具输入15(梯度),立即得到8.53°,比查表快,且支持梯度与度双向换算,避免因单位误解导致屋面排水坡度错误。

物理实验数据预处理

大学物理实验中,光栅衍射角测量结果以度分秒记录,但后续拟合公式要求弧度。学生小赵用计算器挨个按60进制转十进制再乘π/180,一组20个数据算下来耗掉半小时。用本工具批量输入度分秒值,逐个转成弧度,复制粘贴进Excel完成拟合,实验报告提前交卷。

对比矩阵

维度本工具在线计算器手工查表/公式
输入方式支持度、弧度、梯度、时分秒四种单位直接输入通常只支持度或弧度,需手动转换单位需查表或手动套公式,易出错
输出格式同时显示度、弧度、梯度、时分秒四种结果只输出单一单位结果一次只能计算一种单位
精度保留小数点后6位,无舍入误差部分工具仅保留2-4位小数取决于查表精度和计算能力
速度即时响应,无网络延迟需加载页面,网络慢时延迟明显手动计算耗时数秒到数分钟
离线可用纯浏览器实现,无需网络依赖在线服务器,断网不可用完全离线,但需工具书或计算器
适用场景工程、编程、导航、天文等多单位快速互转单一单位转换,适合简单计算无电子设备时的备选方案
第二节

使用指南

Getting Started

使用步骤

  1. 1在输入框中键入角度数值(如 180),自动识别为当前选中单位类型
  2. 2从「度 / 弧度 / 梯度 / 时分秒」中点击目标单位标签,结果区立即更新换算值
  3. 3点击结果区任意换算结果旁的复制图标,数值自动写入剪贴板,无需手动选中
  4. 4切换「时分秒」单位时,输入框自动调整为 hh:mm:ss 格式,按冒号分隔输入

输入输出示例

输入输出说明
90(度 → 弧度)1.5707963267948966 rad常规:直角换算,验证 π/2 的精确输出,常见于几何计算
180(度 → 梯度)200 grad常规:平角换算,梯度制中 180° = 200 grad,验证整数倍关系
0(度 → 弧度)0 rad边界:零值输入,验证工具不会返回空串或 NaN
360(度 → 时分秒)24h 0m 0s边界:整周角,验证时分秒制中 360° = 24h,无余数溢出
1.5707963267948966(弧度 → 度)90°易错:用户常输入 π/2 的近似值,验证工具能否正确还原为整数度
-45(度 → 弧度)-0.7853981633974483 rad易错:负角度处理,验证工具是否支持负值且输出对称
30.5(度 → 时分秒)2h 2m 0s边界:带小数度换算,验证时分秒制中 0.5° = 2m,无秒尾数

常见错误对照

1.弧度值混用 π 的近似值

✗ 错误输入 3.14 作为弧度值
✓ 修复输入 π 或 3.141592653589793

角度换算工具内部使用 Math.PI 的完整精度(约 15 位小数),手动输入 3.14 会导致弧度到度/梯度的转换误差放大,尤其在大角度时误差可达 0.05°。

2.梯度符号与百分度混淆

✗ 错误输入 100g 表示梯度,期望等于 90°
✓ 修复输入 100 作为梯度值(不带后缀),工具默认梯度单位

梯度(grad)是直角为 100 的单位制,与百分度(百分制角度)不同。工具输入框仅接受纯数字,后缀 g 会被当作无效字符。

3.时分秒格式缺少分隔符

✗ 错误输入 123045 表示 12°30′45″
✓ 修复输入 12 30 45 或 12°30′45″

时分秒输入需要空格或度分秒符号分隔,连续数字会被解析为单一数值(如 123045 度),而非拆分为 12°30′45″。

4.负角度在时分秒模式下的符号位置

✗ 错误输入 -12°30′45″(符号在度前)
✓ 修复输入 -12 30 45 或 -12°30′45″(符号在度前)

负号必须紧贴度值,不能放在分或秒前(如 12°-30′45″ 被解析为 12° 加上负的 30′,结果错误)。工具按度分秒顺序解析,符号只作用于紧跟的字段。

5.将梯度值误当作百分比输入

✗ 错误输入 50% 作为梯度值
✓ 修复输入 50 作为梯度值

梯度是角度单位(直角=100 grad),与坡度百分比(如 50% 表示 26.565°)无关。工具不接受 % 符号,输入 % 会触发解析错误。

6.弧度值输入了带 π 的表达式而非数值

✗ 错误输入 π/2 作为弧度值
✓ 修复输入 1.5707963267948966(即 π/2 的数值)

工具输入框只接受数字和小数点,不支持数学表达式解析。π/2 会被当作无效字符串,正确做法是先用计算器算出 π/2 的数值再输入。

7.度分秒中秒值超过 59

✗ 错误输入 12°30′75″
✓ 修复输入 12°31′15″(75″ = 1′15″)

度分秒是六十进制,秒值范围 0–59。输入 75″ 不会自动进位,工具会按 75″ 计算(等于 0.0208333°),而非用户期望的 12°31′15″。

第三节

工作原理

How It Works

核心公式

弧度 = 度数 × π ÷ 180

变量说明

  • 弧度无量纲,圆的弧长与半径之比
  • 度数角度制单位,范围 0–360
  • π圆周率,约 3.1415926535

示例

将 45° 转为弧度:弧度 = 45 × 3.1415926535 ÷ 180 = 141.3716694 ÷ 180 ≈ 0.7853981634 rad,即 π/4。

输入角度值度 / 弧度 / 梯度 / 时分秒格式识别与校验解析单位 / 范围检查统一转十进制中间标准量输出结果四种格式同时展示输出结果四种格式同时展示输出结果四种格式同时展示
用户输入 本地处理 输出结果
第四节

开发者集成

For Developers

5 种主流语言实现,复制即用:

import math def deg_to_rad(deg: float) -> float: return deg * math.pi / 180.0 def rad_to_deg(rad: float) -> float: return rad * 180.0 / math.pi def deg_to_grad(deg: float) -> float: return deg * 10.0 / 9.0 def deg_to_dms(deg: float) -> tuple: d = int(deg) m = int((deg - d) * 60) s = (deg - d - m / 60.0) * 3600.0 return (d, m, round(s, 4)) # 示例 print(deg_to_rad(180)) # 3.141592653589793 print(rad_to_deg(math.pi)) # 180.0 print(deg_to_grad(90)) # 100.0 print(deg_to_dms(30.263888)) # (30, 15, 50.0)
function degToRad(deg) { return deg * Math.PI / 180; } function radToDeg(rad) { return rad * 180 / Math.PI; } function degToGrad(deg) { return deg * 10 / 9; } function degToDms(deg) { const d = Math.floor(deg); const m = Math.floor((deg - d) * 60); const s = ((deg - d - m / 60) * 3600).toFixed(4); return { d, m, s: parseFloat(s) }; } // 示例 console.log(degToRad(180)); // 3.141592653589793 console.log(radToDeg(Math.PI)); // 180 console.log(degToGrad(90)); // 100 console.log(degToDms(30.263888)); // { d: 30, m: 15, s: 50 }
package main import ( "fmt" "math" ) func degToRad(deg float64) float64 { return deg * math.Pi / 180.0 } func radToDeg(rad float64) float64 { return rad * 180.0 / math.Pi } func degToGrad(deg float64) float64 { return deg * 10.0 / 9.0 } func degToDms(deg float64) (int, int, float64) { d := int(deg) m := int((deg - float64(d)) * 60) s := (deg - float64(d) - float64(m)/60.0) * 3600.0 return d, m, math.Round(s*10000) / 10000 } func main() { fmt.Println(degToRad(180)) // 3.141592653589793 fmt.Println(radToDeg(math.Pi)) // 180 fmt.Println(degToGrad(90)) // 100 fmt.Println(degToDms(30.263888)) // 30 15 50 }
use std::f64::consts::PI; fn deg_to_rad(deg: f64) -> f64 { deg * PI / 180.0 } fn rad_to_deg(rad: f64) -> f64 { rad * 180.0 / PI } fn deg_to_grad(deg: f64) -> f64 { deg * 10.0 / 9.0 } fn deg_to_dms(deg: f64) -> (i32, i32, f64) { let d = deg as i32; let m = ((deg - d as f64) * 60.0) as i32; let s = (deg - d as f64 - m as f64 / 60.0) * 3600.0; (d, m, (s * 10000.0).round() / 10000.0) } fn main() { println!("{}", deg_to_rad(180.0)); // 3.141592653589793 println!("{}", rad_to_deg(PI)); // 180 println!("{}", deg_to_grad(90.0)); // 100 println!("{:?}", deg_to_dms(30.263888)); // (30, 15, 50.0) }
function degToRad(deg: number): number { return deg * Math.PI / 180; } function radToDeg(rad: number): number { return rad * 180 / Math.PI; } function degToGrad(deg: number): number { return deg * 10 / 9; } function degToDms(deg: number): { d: number; m: number; s: number } { const d = Math.floor(deg); const m = Math.floor((deg - d) * 60); const s = parseFloat(((deg - d - m / 60) * 3600).toFixed(4)); return { d, m, s }; } // 示例 console.log(degToRad(180)); // 3.141592653589793 console.log(radToDeg(Math.PI)); // 180 console.log(degToGrad(90)); // 100 console.log(degToDms(30.263888)); // { d: 30, m: 15, s: 50 }
第五节

常见问题

Q & A
我输入 30 度,为什么转出来的弧度是 0.5236 而不是 0.5235?

这是浮点数精度显示的问题。角度换算中 30° 对应的弧度理论值是 π/6 ≈ 0.5235987756,本工具显示到小数点后 4 位时四舍五入为 0.5236。如果看到 0.5235,可能是某些工具做了截断而非四舍五入。本工具采用四舍五入显示,内部计算保留双精度,结果精确到 1e-10 量级,不影响工程使用。

时分秒格式怎么输入?比如 30 度 15 分 20 秒怎么填?

在度分秒模式下,分和秒必须用整数或带一位小数输入。例如 30°15'20" 应在度字段填 30,分字段填 15,秒字段填 20。注意秒不能超过 59.999,分不能超过 59。如果只有度分没有秒,秒字段填 0。本工具会自动将度分秒换算为十进制度数,同时显示对应弧度和梯度值。

为什么我算出来的梯度和书上不一样?

梯度(grad)有两种定义:百分度(400 grad = 360°)和千分度(1000 grad = 360°)。本工具采用国际通用的百分度制,即 90° = 100 grad。如果书上用的是千分度制(常见于欧洲某些测绘教材),则 90° = 250 grad。换算时请确认工具与教材采用同一标准。本工具默认显示百分度,如需千分度可自行乘以 2.5。

手机浏览器打开后,页面卡住点不了按钮怎么办?

本工具完全在浏览器本地运行(不依赖服务器),计算瞬间完成。如果按钮无响应,通常是浏览器缓存问题。尝试刷新页面(下拉刷新或地址栏刷新),或清除该页面缓存后重试。极少数情况是 WebView 版本过旧,建议升级浏览器或改用 Chrome/Safari 最新版。因为不涉及网络传输,不存在服务器超时问题。

能不能批量换算一整个表格里的角度?

本工具目前是单次输入换算,不支持批量上传 CSV 或粘贴多行。如果需要批量处理,可以手动逐条输入,或复制结果后自行粘贴到表格软件。未来版本可能增加批量功能。对于大量数据(如几百个点),建议使用 Python 的 math.radians/degrees 函数或 Excel 的 RADIANS/DEGREES 函数,速度更快。

为什么我输入负角度也能算?负角度有什么用?

负角度在数学和工程中表示顺时针旋转方向,是合法输入。本工具支持负角度换算,例如 -45° 会对应 -0.7854 弧度、-50 grad。常见场景:计算旋转矩阵时方向相反、信号处理中的相位偏移、游戏开发中物体逆时针旋转。如果只需要正角度,可以手动加 360 取模,但工具不强制限制。

度分秒转成小数后,保留几位小数才够用?

取决于应用场景。普通导航或地图标注:小数点后 4 位(约 11 米精度)足够。天文或卫星定位:可能需要 6 位以上。本工具默认显示 4 位小数,但内部计算保留双精度(约 15 位)。如果需要更多小数位,可以复制结果后手动扩展。注意:分秒本身是 60 进制,转十进制时 1 秒 ≈ 0.0002778°,保留 4 位已能区分到 0.1 秒。

这个工具需要联网才能用吗?

不需要。本工具是纯前端实现,所有换算逻辑在浏览器本地执行,不向服务器发送任何数据。打开页面后即使断网也能正常使用。代码体积很小,首次加载后即可离线运行。这也意味着用户的输入数据不会离开设备,适合处理敏感角度数据(如军事地图、商业设计稿)。

弧度值特别长,比如 1.57079632679,能不能只看前几位?

本工具结果区显示 4 位小数,如 1.5708。如果看到更长的数字,可能是从其他地方复制过来的。工具内部计算时使用完整精度,但显示做了截断。如果需要完整精度,可以点击结果区复制按钮(如果有),或手动在输入框重新输入后查看输出。注意:1.5708 就是 π/2 的近似,工程上常用 1.57 或 1.571。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭