public class MathHelper
{
public static decimal Dot3(decimal d)
{
return decimal.Parse(String.Format("{0:0.###}", d));
}
public static decimal Dot2(decimal d)
{
return decimal.Parse(String.Format("{0:0.##}", d));
}
public static decimal Dot4(decimal d)
{
return decimal.Parse(String.Format("{0:0.####}", d));
}
public static decimal Dot6(decimal d)
{
return decimal.Parse(String.Format("{0:0.######}", d));
}
///
/// 获取价格相差
///
/// 价格1
/// 价格2
/// 价格差
public static decimal GetDiffPrice(decimal firstPrice, decimal sencondPrice)
{
return firstPrice - sencondPrice;
}
///
/// 获取价格差百分比
///
/// 价格1
/// 价格2
/// 价格差百分比
public static decimal GetPercentDiffPrice(decimal firstPrice, decimal sencondPrice)
{
if (sencondPrice == 0)
return 0;
return MathHelper.Dot2((GetDiffPrice(firstPrice, sencondPrice) / sencondPrice) * 100);
}
///
/// 将小数值按指定的小数位数截位
///
/// 要截位的小数
/// 小数位数,s大于等于0,小于等于28
///
public static decimal ToFixed(decimal value, int length)
{
decimal sp = Convert.ToDecimal(Math.Pow(10, length));
return Math.Truncate(value) + Math.Floor((value - Math.Truncate(value)) * sp) / sp;
}
///
/// 将小数值按指定的小数位数进位(大于0进位)
///
/// 要进位的小数
/// 小数位数,s大于等于0,小于等于28
///
public static decimal ToCeiled(decimal value, int length)
{
decimal sp = Convert.ToDecimal(Math.Pow(10, length));
return Math.Ceiling(value * sp) / sp;
}
}
//csharp/7022