刚刚收到一个朋友给我分享的C#代码的案例,我把思路分享给大家;很多人都做过数据的格式化吧,这里针对一个进度加载数据展示的代码优化案例给大家。
大概场景是这样的,我收到一个加载数据,要对他格式化,要求变成百分比,加载数据的话,那肯定就是不能大于100,大于0时最小值为1,而且要进行向下取整。
1. 先来看一个常规的写法
public static string FormatProgress(decimal? data)
{
var _data = data == null ? 0 : data.Value * 100;
if (_data > 100)
{
_data = 100;
}
else if (_data > 0 && _data < 1)
{
_data = 1;
}
else
{
_data = Math.Floor(_data);
}
return _data.ToString();
}
2.代码优化
public static string FormatProgress(decimal? data)
{
var _data = 100*Convert.ToDecimal(data);
if(_data>0)
{
_data=Math.Floor(_data);
_data=Math.Min(100,_data);
_data=Math.Max(1,_data);
}
return _data.ToString();
}