将弧度转换为度、分和秒

标签 c trigonometry

我正在寻找一种将小数转换为 C 中的度数的方法。例如,C 中的 asin() 函数返回一个十进制数,但我需要该数字以度数 ° 分 ' 秒为单位“。

例如1.5 将是 1°30'0"

最佳答案

asin 函数返回弧度。一个圆有 2 π 弧度。

一个圆有360度,一个度有60分,一分有60秒。所以一圈有360*60*60秒。

double radians = asin(opposite / hypotenuse);
int totalSeconds = (int)round(radians * 360 * 60 * 60 / (2 * M_PI));
int seconds = totalSeconds % 60;
int minutes = (totalSeconds / 60) % 60;
int degrees = totalSeconds / (60 * 60);

关于将弧度转换为度、分和秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10360534/

相关文章:

javascript - 在javascript中计算旋转矩形的中点

c - 如何使用此代码对字符串进行排序?我的基础不及格

c - recv() 返回零但看不到任何 TCP 断开连接

c - execve 和管道问题 - 如何恢复原始管道?

Python NumPy : Convert string in to numpy array

function - 为什么没有类似于atan2()的asin2()和acos2()函数?

c - C 中的 strcpy 无法正确复制以覆盖字符串

c++ - 使用标准库中的代码停止在 Turbo C++ 中退出输出

math - 圆环图 : calculate outer circle's coordinates to get parallel gaps between slices

c++ - 计算三角函数精度下降,误差百分比上升