private decimal 截断小数(decimal 原小数值, int 保留小数个数)
{
string 原小数转字符串值 = 原小数值.ToString();
try
{
if (原小数转字符串值.Contains("."))
{
int 原小数总长度 = 原小数转字符串值.Length;
int 小数点所在索引 = 原小数转字符串值.IndexOf('.');
int 切割长度 = 小数点所在索引 + 1 + 保留小数个数;
string 小数点值 = 原小数转字符串值.Substring((小数点所在索引 + 1), 原小数转字符串值.Length - (小数点所在索引 + 1));
if (小数点值.Length < 保留小数个数)
{
int 当前补齐后总长度 = 原小数总长度 + (保留小数个数 - 小数点值.Length);
原小数转字符串值 = 原小数转字符串值.PadRight(当前补齐后总长度, '0');
}
原小数转字符串值 = 原小数转字符串值.Substring(0, 切割长度);
Console.WriteLine(原小数转字符串值);
}
}
catch (Exception ex)
{
}
return decimal.Parse(原小数转字符串值);
}