資源簡介
// 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++類
評論
共有 條評論