zoukankan      html  css  js  c++  java
  • 1.1 提炼函数

    【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.

    顺序 选择 循环 总结

  • 相关阅读:
    Struts2中There is no Action mapped for namespace错误解决方法
    String字符串常量池简介
    main方法中参数"String[ ] args"详解
    自定义异常基本用法
    finally关键字执行的底层原理
    Linux环境下安装mysql5.6(二进制包不是rpm格式)
    finalize关键字小结
    "=="和equals小结
    super关键字小结(构造方法的执行是不是一定会创建对象?)
    冒泡排序
  • 原文地址:https://www.cnblogs.com/Braveliu/p/7339048.html
Copyright © 2011-2022 走看看