【1】源代码
把一个unsigned long long型数值格式转换为时间格式。
1 QString formatULLToTime(quint64 value) 2 { 3 quint64 hour = (value / 1000) / 3600; 4 QString strHour = (hour < 10) ? QString("0%1").arg(hour) : QString::number(hour); 5 quint64 min = ((value / 1000) % 3600) / 60; 6 QString strMin = (min < 10) ? QString("0%1").arg(min) : QString::number(min); 7 quint64 sec = (value / 1000) % 60; 8 QString strSec = (sec < 10) ? QString("0%1").arg(sec) : QString::number(sec); 9 return QString("%1:%2:%3").arg(strHour).arg(strMin).arg(strSec); 10 }
【2】提炼函数
1 QString formatNumberToTime(quint64 nValue) 2 { 3 return (nValue < 10) ? QString("0%1").arg(nValue) : QString::number(nValue); 4 } 5 6 QString formatULLToTime(quint64 value) 7 { 8 return QString("%1:%2:%3") 9 .arg(formatNumberToTime((value / 1000) / 3600)) 10 .arg(formatNumberToTime(((value / 1000) % 3600) / 60)) 11 .arg(formatNumberToTime((value / 1000) % 60)); 12 }
【3】编译测试
1 #include <QCoreApplication> 2 #include <QDebug> 3 #include <QString> 4 5 QString formatNumberToTime(quint64 nValue) 6 { 7 return (nValue < 10) ? QString("0%1").arg(nValue) : QString::number(nValue); 8 } 9 10 QString formatULLToTime(quint64 value) 11 { 12 return QString("%1:%2:%3") 13 .arg(formatNumberToTime((value / 1000) / 3600)) 14 .arg(formatNumberToTime(((value / 1000) % 3600) / 60)) 15 .arg(formatNumberToTime((value / 1000) % 60)); 16 } 17 18 int main(int argc, char *argv[]) 19 { 20 QCoreApplication a(argc, argv); 21 22 unsigned long long tempValue = 36003599000; 23 QString strTime = formatULLToTime(tempValue); 24 qDebug() << strTime << endl; // 10000:59:59 25 26 return a.exec(); 27 }
【4】总结
有一段代码可以被组织在一起并独立出来,将这段代码放进一个独立函数中,并让函数名称解释该函数的用途。
Good Good Study, Day Day Up.
顺序 选择 循环 总结