c#中是否有任何数学函数?
如果值是18.00,那么我想要值18, 如果值是18.50,那么我想要值18.5, 如果值是18.25000,那么我想要值18.25。
答案 0 :(得分:1)
您可以使用Decimal.Round 文档在这里
答案 1 :(得分:-1)
如果您想转换为十进制,请使用此
static decimal? RemoveTrailingZeros(this decimal? value)
{
if (value == null) return null;
var format = $"0.{string.Join(string.Empty, Enumerable.Repeat("#", 29))}";
var strvalue = value.Value.ToString(format);
return ConvertToDecimalCultureInvariant(strvalue);
}
static decimal? ConvertToDecimalCultureInvariant(this string value)
{
decimal decValue;
if (!decimal.TryParse(value, NumberStyles.Any, CultureInfo.InvariantCulture, out decValue))
{
return null;
}
return decValue;
}
由于小数的精度为29,因此为Enumerable.Repeat("#", 29)
。
并将其用作
var result = RemoveTrailingZeros(29.0000m);