using System;
namespace Sicentury.Core
{
public class GlobalDefs
{
///
/// 比较两个Double型变量是否相等时的最小误差值。
///
public const double DBL_VAL_COMPARISION_TOLERANCE = 1e-6;
///
/// 比较两个Double型变量是否相等。
/// 注意:未考虑NaN和Infinity情况。
///
///
///
///
///
public static bool IsDoubleValueEquals(double a, double b, double tolerance = DBL_VAL_COMPARISION_TOLERANCE)
{
return Math.Abs(a - b) < tolerance;
}
///
/// 尝试将制定的字符串转换为Double型。如果转换失败,返回默认值。
///
///
///
///
public static double TryParseToDouble(string str, double valueIfFault = 0)
{
var ret = double.TryParse(str, out var dbv);
if (ret == false)
dbv = valueIfFault;
return dbv;
}
}
}