比如,将13.5转为13:30这样。
/// <summary>
/// dlgcy:将小数形式的时间转为带冒号的显示时间格式;
/// </summary>
public static string ChangeDecimalTimeToShowTime(string decimalTime)
{
string showTime;
if (decimalTime.Contains("."))
{
string[] leftAndRight = decimalTime.Split('.');
string left = leftAndRight[0];
string right = leftAndRight[1];
if (string.IsNullOrWhiteSpace(right))
{
right = "00";
}
else
{
double rightValue = double.Parse("0." + right);
// 乘60是为了转为60进制,除以100是为了保证前面都是“0.”,加0是为了截取子串时保证有足够的位数(加一个0应该就够了);
right = ((rightValue*60/100) + "00").Substring(2,2);
}
showTime = left + ":" + right;
}
else
{
showTime = decimalTime + ":00";
}
return showTime;
}
先取整数部分 然后把小数部分乘以60就得到了