资源简介
// Summary: 角度精度的转换
// Parameters:
// dAngle - 角度, 单位度(°)
// nPrecision - 精度, 1:度、2:分、3:秒
// Returns: 成功返回转换后的角度字符串,否则返回空
// Note: 转换结果带四舍五入
例:
角度值 0.5° 转换结果 0°30′0″
角度值 0.56789° 转换结果 0°34′4″
角度值 360.5123°转换结果 360°30′44″
代码片段和文件信息
// AnglePrecisionConvert.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include
#include
// Summary: 角度精度的转换
// Parameters:
// dAngle - 角度 单位度(°)
// nPrecision - 精度 1:度、2:分、3:秒
// Returns: 成功返回转换后的角度字符串,否则返回空
// Note: 转换结果带四舍五入
// 若精度为度,大于0.5度(30分)的,向度进位
// 若精度为分,大于0.5分(30秒)的,向分进位
// 大于0.5秒,向秒进位
CString AnglePrecisionConvert(double dAngle int nPrecision);
int _tmain(int argc _TCHAR* argv[])
{
while (true)
{
double dAngle = 0;
int nPrecision = 1;
std::cout<<(“输入角度:\n“);
std::cin>>dAngle;
std::cout<<(“输入精度:(1-度、2-分、3-秒):\n“);
std::cin>>nPrecision;
CString strDimText = AnglePrecisionConvert(dAngle nPrecision);
std::cout< }
return 0;
}
CString AnglePrecisionConvert(double dAngle int nPrecision)
{
CString strDimText;
if (1 == nPrecision) // 度
{
int nDegree = int(dAngle);
if (fabs(dAngle - nDegree) > 0.5)
{
// 四舍五入
nDegree += 1;
}
if (nDegree > 360)
{
nDegree -= 360
- 上一篇:设计哈希表实现电话号码查询系统。
- 下一篇:精确计算24节气的c++类
评论
共有 条评论