1.类型转换
2.比较大小
static void Main(string[] args)
{
usDouble();
}
private static void usDouble()
{
double price = 99.99;
string strpri = price.ToString("00.000");
int intprice=(int)price;
intprice = Convert.ToInt32(price);
price = Convert.ToDouble(strpri);
price= double.Parse(strpri);
bool changeok = double.TryParse(strpri,out price);
double q = 2.0 / 7.0;
double p = 2.0 / 7.0;
if(DoubleEquals(p, q))
{//相等比较放在第一位
Console.WriteLine($"{p}={q}");
}
else if(p>q)
{
Console.WriteLine($"{p}>{q}");
}
else
{
Console.WriteLine($"{p}<{q}");
}
}
/// <summary>
/// 比较double数值是否相等,只能比较到小数点后14位
/// </summary>
/// <param name="d1">double1</param>
/// <param name="d2">double2</param>
/// <returns></returns>
private static bool DoubleEquals(double d1, double d2)
{
var DOUBLE_DELTA = 1E-15;
return d1 == d2 || Math.Abs(d1 - d2) < DOUBLE_DELTA;
}
/// <summary>
/// 比较float数值是否相等,只能比较到小数点后5位
/// </summary>
/// <param name="f1">float1</param>
/// <param name="f2">float2</param>
/// <returns></returns>
private static bool FloatEquals(float f1, float f2)
{
var FLOAT_DELTA = 1E-6;
return f1 == f2 || Math.Abs(f1 - f2) < FLOAT_DELTA;
}