• 大小: 2KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-26
  • 语言: C/C++
  • 标签: 角度  单位  度分秒  

资源简介

// 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

评论

共有 条评论