You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "Defines.h"
|
|
|
|
|
|
#include "iAlgMath_global.h"
|
|
|
|
|
|
|
|
|
|
|
|
// 温度转换类
|
|
|
|
|
|
class I_ALGMATH_EXPORT zxTempConverter
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
zxTempConverter();
|
|
|
|
|
|
~zxTempConverter();
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
// 四种温标枚举
|
|
|
|
|
|
enum Temp_Unit_Type {
|
|
|
|
|
|
TUT_Celsius = 0, //摄氏度℃
|
|
|
|
|
|
TUT_Fahrenheit, //华氏度F
|
|
|
|
|
|
TUT_Kelvin, //开尔文K
|
|
|
|
|
|
TUT_Rankine, //兰式温度R
|
|
|
|
|
|
TUT_Unknown
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// 任意温标 → 摄氏度
|
|
|
|
|
|
static double otherToCelsius(double t, Temp_Unit_Type tutSrc);
|
|
|
|
|
|
|
|
|
|
|
|
// 摄氏度 → 任意温标
|
|
|
|
|
|
static double celsiusToOther(double t, Temp_Unit_Type tutDest);
|
|
|
|
|
|
|
|
|
|
|
|
// 通用转换函数:任意温标 → 任意温标
|
|
|
|
|
|
static double convert(double t, \
|
|
|
|
|
|
Temp_Unit_Type tutSrc, \
|
|
|
|
|
|
Temp_Unit_Type tutDest);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
// 从摄氏度℃转为其它
|
|
|
|
|
|
static double cToF(double c);
|
|
|
|
|
|
static double cToK(double c);
|
|
|
|
|
|
static double cToR(double c);
|
|
|
|
|
|
|
|
|
|
|
|
// 从华氏度F转为其它
|
|
|
|
|
|
static double fToC(double f);
|
|
|
|
|
|
static double fToK(double f);
|
|
|
|
|
|
static double fToR(double f);
|
|
|
|
|
|
|
|
|
|
|
|
// 从开尔文K转为其它
|
|
|
|
|
|
static double kToC(double k);
|
|
|
|
|
|
static double kToF(double k);
|
|
|
|
|
|
static double kToR(double k);
|
|
|
|
|
|
|
|
|
|
|
|
// 从兰式温度R转为其它
|
|
|
|
|
|
static double rToC(double r);
|
|
|
|
|
|
static double rToF(double r);
|
|
|
|
|
|
static double rToK(double r);
|
|
|
|
|
|
|
|
|
|
|
|
};
|