%description: Tests for SimTime::format() std::string format( int prec=getScaleExp(), const char *decimalSep=".", const char *digitSep="", bool addUnits=false, const char *beforeUnit=nullptr, const char *afterUnit=nullptr); %includes: #include %global: static void print(SimTime t) { EV << t << ":" << endl; for (int prec=-18; prec<=0; prec++) { EV << "prec=" << std::setw(3) << prec << " --> "; EV << t.format(prec) << " | " << t.format(prec, ".", "'") << " | " << t.format(prec, ".", ",", true) << " | " << t.format(prec, ".", ",", true, "[", "] ") << endl; } EV << endl; } %activity: print(SimTime(555666777888, SIMTIME_NS)); // both integral and fractional part print(SimTime(123, SIMTIME_US)); // fractional part only print(SimTime(12340, SIMTIME_S)); // integral part only print(SimTime(0, SIMTIME_S)); // zero print(SimTime(-555666777888, SIMTIME_NS)); // negative number EV << ".\n"; %inifile: omnetpp.ini simtime-resolution = ns %contains: stdout 555.666777888: prec=-18 --> 555.666777888000000000 | 555.666'777'888'000'000'000 | 555s666ms777us888ns000ps000fs000as | 555[s] 666[ms] 777[us] 888[ns] 000[ps] 000[fs] 000[as] prec=-17 --> 555.66677788800000000 | 555.666'777'888'000'000'000 | 555s666ms777us888ns000ps000fs000as | 555[s] 666[ms] 777[us] 888[ns] 000[ps] 000[fs] 000[as] prec=-16 --> 555.6667778880000000 | 555.666'777'888'000'000'000 | 555s666ms777us888ns000ps000fs000as | 555[s] 666[ms] 777[us] 888[ns] 000[ps] 000[fs] 000[as] prec=-15 --> 555.666777888000000 | 555.666'777'888'000'000 | 555s666ms777us888ns000ps000fs | 555[s] 666[ms] 777[us] 888[ns] 000[ps] 000[fs] prec=-14 --> 555.66677788800000 | 555.666'777'888'000'000 | 555s666ms777us888ns000ps000fs | 555[s] 666[ms] 777[us] 888[ns] 000[ps] 000[fs] prec=-13 --> 555.6667778880000 | 555.666'777'888'000'000 | 555s666ms777us888ns000ps000fs | 555[s] 666[ms] 777[us] 888[ns] 000[ps] 000[fs] prec=-12 --> 555.666777888000 | 555.666'777'888'000 | 555s666ms777us888ns000ps | 555[s] 666[ms] 777[us] 888[ns] 000[ps] prec=-11 --> 555.66677788800 | 555.666'777'888'000 | 555s666ms777us888ns000ps | 555[s] 666[ms] 777[us] 888[ns] 000[ps] prec=-10 --> 555.6667778880 | 555.666'777'888'000 | 555s666ms777us888ns000ps | 555[s] 666[ms] 777[us] 888[ns] 000[ps] prec= -9 --> 555.666777888 | 555.666'777'888 | 555s666ms777us888ns | 555[s] 666[ms] 777[us] 888[ns] prec= -8 --> 555.66677788 | 555.666'777'888 | 555s666ms777us888ns | 555[s] 666[ms] 777[us] 888[ns] prec= -7 --> 555.6667778 | 555.666'777'888 | 555s666ms777us888ns | 555[s] 666[ms] 777[us] 888[ns] prec= -6 --> 555.666777 | 555.666'777 | 555s666ms777us | 555[s] 666[ms] 777[us] prec= -5 --> 555.66677 | 555.666'777 | 555s666ms777us | 555[s] 666[ms] 777[us] prec= -4 --> 555.6667 | 555.666'777 | 555s666ms777us | 555[s] 666[ms] 777[us] prec= -3 --> 555.666 | 555.666 | 555s666ms | 555[s] 666[ms] prec= -2 --> 555.66 | 555.666 | 555s666ms | 555[s] 666[ms] prec= -1 --> 555.6 | 555.666 | 555s666ms | 555[s] 666[ms] prec= 0 --> 555 | 555 | 555s | 555[s] 0.000123: prec=-18 --> 0.000123000000000000 | 0.000'123'000'000'000'000 | 0s000ms123us000ns000ps000fs000as | 0[s] 000[ms] 123[us] 000[ns] 000[ps] 000[fs] 000[as] prec=-17 --> 0.00012300000000000 | 0.000'123'000'000'000'000 | 0s000ms123us000ns000ps000fs000as | 0[s] 000[ms] 123[us] 000[ns] 000[ps] 000[fs] 000[as] prec=-16 --> 0.0001230000000000 | 0.000'123'000'000'000'000 | 0s000ms123us000ns000ps000fs000as | 0[s] 000[ms] 123[us] 000[ns] 000[ps] 000[fs] 000[as] prec=-15 --> 0.000123000000000 | 0.000'123'000'000'000 | 0s000ms123us000ns000ps000fs | 0[s] 000[ms] 123[us] 000[ns] 000[ps] 000[fs] prec=-14 --> 0.00012300000000 | 0.000'123'000'000'000 | 0s000ms123us000ns000ps000fs | 0[s] 000[ms] 123[us] 000[ns] 000[ps] 000[fs] prec=-13 --> 0.0001230000000 | 0.000'123'000'000'000 | 0s000ms123us000ns000ps000fs | 0[s] 000[ms] 123[us] 000[ns] 000[ps] 000[fs] prec=-12 --> 0.000123000000 | 0.000'123'000'000 | 0s000ms123us000ns000ps | 0[s] 000[ms] 123[us] 000[ns] 000[ps] prec=-11 --> 0.00012300000 | 0.000'123'000'000 | 0s000ms123us000ns000ps | 0[s] 000[ms] 123[us] 000[ns] 000[ps] prec=-10 --> 0.0001230000 | 0.000'123'000'000 | 0s000ms123us000ns000ps | 0[s] 000[ms] 123[us] 000[ns] 000[ps] prec= -9 --> 0.000123000 | 0.000'123'000 | 0s000ms123us000ns | 0[s] 000[ms] 123[us] 000[ns] prec= -8 --> 0.00012300 | 0.000'123'000 | 0s000ms123us000ns | 0[s] 000[ms] 123[us] 000[ns] prec= -7 --> 0.0001230 | 0.000'123'000 | 0s000ms123us000ns | 0[s] 000[ms] 123[us] 000[ns] prec= -6 --> 0.000123 | 0.000'123 | 0s000ms123us | 0[s] 000[ms] 123[us] prec= -5 --> 0.00012 | 0.000'123 | 0s000ms123us | 0[s] 000[ms] 123[us] prec= -4 --> 0.0001 | 0.000'123 | 0s000ms123us | 0[s] 000[ms] 123[us] prec= -3 --> 0.000 | 0.000 | 0s000ms | 0[s] 000[ms] prec= -2 --> 0.00 | 0.000 | 0s000ms | 0[s] 000[ms] prec= -1 --> 0.0 | 0.000 | 0s000ms | 0[s] 000[ms] prec= 0 --> 0 | 0 | 0s | 0[s] 12340: prec=-18 --> 12340.000000000000000000 | 12'340.000'000'000'000'000'000 | 12,340s000ms000us000ns000ps000fs000as | 12,340[s] 000[ms] 000[us] 000[ns] 000[ps] 000[fs] 000[as] prec=-17 --> 12340.00000000000000000 | 12'340.000'000'000'000'000'000 | 12,340s000ms000us000ns000ps000fs000as | 12,340[s] 000[ms] 000[us] 000[ns] 000[ps] 000[fs] 000[as] prec=-16 --> 12340.0000000000000000 | 12'340.000'000'000'000'000'000 | 12,340s000ms000us000ns000ps000fs000as | 12,340[s] 000[ms] 000[us] 000[ns] 000[ps] 000[fs] 000[as] prec=-15 --> 12340.000000000000000 | 12'340.000'000'000'000'000 | 12,340s000ms000us000ns000ps000fs | 12,340[s] 000[ms] 000[us] 000[ns] 000[ps] 000[fs] prec=-14 --> 12340.00000000000000 | 12'340.000'000'000'000'000 | 12,340s000ms000us000ns000ps000fs | 12,340[s] 000[ms] 000[us] 000[ns] 000[ps] 000[fs] prec=-13 --> 12340.0000000000000 | 12'340.000'000'000'000'000 | 12,340s000ms000us000ns000ps000fs | 12,340[s] 000[ms] 000[us] 000[ns] 000[ps] 000[fs] prec=-12 --> 12340.000000000000 | 12'340.000'000'000'000 | 12,340s000ms000us000ns000ps | 12,340[s] 000[ms] 000[us] 000[ns] 000[ps] prec=-11 --> 12340.00000000000 | 12'340.000'000'000'000 | 12,340s000ms000us000ns000ps | 12,340[s] 000[ms] 000[us] 000[ns] 000[ps] prec=-10 --> 12340.0000000000 | 12'340.000'000'000'000 | 12,340s000ms000us000ns000ps | 12,340[s] 000[ms] 000[us] 000[ns] 000[ps] prec= -9 --> 12340.000000000 | 12'340.000'000'000 | 12,340s000ms000us000ns | 12,340[s] 000[ms] 000[us] 000[ns] prec= -8 --> 12340.00000000 | 12'340.000'000'000 | 12,340s000ms000us000ns | 12,340[s] 000[ms] 000[us] 000[ns] prec= -7 --> 12340.0000000 | 12'340.000'000'000 | 12,340s000ms000us000ns | 12,340[s] 000[ms] 000[us] 000[ns] prec= -6 --> 12340.000000 | 12'340.000'000 | 12,340s000ms000us | 12,340[s] 000[ms] 000[us] prec= -5 --> 12340.00000 | 12'340.000'000 | 12,340s000ms000us | 12,340[s] 000[ms] 000[us] prec= -4 --> 12340.0000 | 12'340.000'000 | 12,340s000ms000us | 12,340[s] 000[ms] 000[us] prec= -3 --> 12340.000 | 12'340.000 | 12,340s000ms | 12,340[s] 000[ms] prec= -2 --> 12340.00 | 12'340.000 | 12,340s000ms | 12,340[s] 000[ms] prec= -1 --> 12340.0 | 12'340.000 | 12,340s000ms | 12,340[s] 000[ms] prec= 0 --> 12340 | 12'340 | 12,340s | 12,340[s] 0: prec=-18 --> 0.000000000000000000 | 0.000'000'000'000'000'000 | 0s000ms000us000ns000ps000fs000as | 0[s] 000[ms] 000[us] 000[ns] 000[ps] 000[fs] 000[as] prec=-17 --> 0.00000000000000000 | 0.000'000'000'000'000'000 | 0s000ms000us000ns000ps000fs000as | 0[s] 000[ms] 000[us] 000[ns] 000[ps] 000[fs] 000[as] prec=-16 --> 0.0000000000000000 | 0.000'000'000'000'000'000 | 0s000ms000us000ns000ps000fs000as | 0[s] 000[ms] 000[us] 000[ns] 000[ps] 000[fs] 000[as] prec=-15 --> 0.000000000000000 | 0.000'000'000'000'000 | 0s000ms000us000ns000ps000fs | 0[s] 000[ms] 000[us] 000[ns] 000[ps] 000[fs] prec=-14 --> 0.00000000000000 | 0.000'000'000'000'000 | 0s000ms000us000ns000ps000fs | 0[s] 000[ms] 000[us] 000[ns] 000[ps] 000[fs] prec=-13 --> 0.0000000000000 | 0.000'000'000'000'000 | 0s000ms000us000ns000ps000fs | 0[s] 000[ms] 000[us] 000[ns] 000[ps] 000[fs] prec=-12 --> 0.000000000000 | 0.000'000'000'000 | 0s000ms000us000ns000ps | 0[s] 000[ms] 000[us] 000[ns] 000[ps] prec=-11 --> 0.00000000000 | 0.000'000'000'000 | 0s000ms000us000ns000ps | 0[s] 000[ms] 000[us] 000[ns] 000[ps] prec=-10 --> 0.0000000000 | 0.000'000'000'000 | 0s000ms000us000ns000ps | 0[s] 000[ms] 000[us] 000[ns] 000[ps] prec= -9 --> 0.000000000 | 0.000'000'000 | 0s000ms000us000ns | 0[s] 000[ms] 000[us] 000[ns] prec= -8 --> 0.00000000 | 0.000'000'000 | 0s000ms000us000ns | 0[s] 000[ms] 000[us] 000[ns] prec= -7 --> 0.0000000 | 0.000'000'000 | 0s000ms000us000ns | 0[s] 000[ms] 000[us] 000[ns] prec= -6 --> 0.000000 | 0.000'000 | 0s000ms000us | 0[s] 000[ms] 000[us] prec= -5 --> 0.00000 | 0.000'000 | 0s000ms000us | 0[s] 000[ms] 000[us] prec= -4 --> 0.0000 | 0.000'000 | 0s000ms000us | 0[s] 000[ms] 000[us] prec= -3 --> 0.000 | 0.000 | 0s000ms | 0[s] 000[ms] prec= -2 --> 0.00 | 0.000 | 0s000ms | 0[s] 000[ms] prec= -1 --> 0.0 | 0.000 | 0s000ms | 0[s] 000[ms] prec= 0 --> 0 | 0 | 0s | 0[s] -555.666777888: prec=-18 --> -555.666777888000000000 | -555.666'777'888'000'000'000 | -555s666ms777us888ns000ps000fs000as | -555[s] 666[ms] 777[us] 888[ns] 000[ps] 000[fs] 000[as] prec=-17 --> -555.66677788800000000 | -555.666'777'888'000'000'000 | -555s666ms777us888ns000ps000fs000as | -555[s] 666[ms] 777[us] 888[ns] 000[ps] 000[fs] 000[as] prec=-16 --> -555.6667778880000000 | -555.666'777'888'000'000'000 | -555s666ms777us888ns000ps000fs000as | -555[s] 666[ms] 777[us] 888[ns] 000[ps] 000[fs] 000[as] prec=-15 --> -555.666777888000000 | -555.666'777'888'000'000 | -555s666ms777us888ns000ps000fs | -555[s] 666[ms] 777[us] 888[ns] 000[ps] 000[fs] prec=-14 --> -555.66677788800000 | -555.666'777'888'000'000 | -555s666ms777us888ns000ps000fs | -555[s] 666[ms] 777[us] 888[ns] 000[ps] 000[fs] prec=-13 --> -555.6667778880000 | -555.666'777'888'000'000 | -555s666ms777us888ns000ps000fs | -555[s] 666[ms] 777[us] 888[ns] 000[ps] 000[fs] prec=-12 --> -555.666777888000 | -555.666'777'888'000 | -555s666ms777us888ns000ps | -555[s] 666[ms] 777[us] 888[ns] 000[ps] prec=-11 --> -555.66677788800 | -555.666'777'888'000 | -555s666ms777us888ns000ps | -555[s] 666[ms] 777[us] 888[ns] 000[ps] prec=-10 --> -555.6667778880 | -555.666'777'888'000 | -555s666ms777us888ns000ps | -555[s] 666[ms] 777[us] 888[ns] 000[ps] prec= -9 --> -555.666777888 | -555.666'777'888 | -555s666ms777us888ns | -555[s] 666[ms] 777[us] 888[ns] prec= -8 --> -555.66677788 | -555.666'777'888 | -555s666ms777us888ns | -555[s] 666[ms] 777[us] 888[ns] prec= -7 --> -555.6667778 | -555.666'777'888 | -555s666ms777us888ns | -555[s] 666[ms] 777[us] 888[ns] prec= -6 --> -555.666777 | -555.666'777 | -555s666ms777us | -555[s] 666[ms] 777[us] prec= -5 --> -555.66677 | -555.666'777 | -555s666ms777us | -555[s] 666[ms] 777[us] prec= -4 --> -555.6667 | -555.666'777 | -555s666ms777us | -555[s] 666[ms] 777[us] prec= -3 --> -555.666 | -555.666 | -555s666ms | -555[s] 666[ms] prec= -2 --> -555.66 | -555.666 | -555s666ms | -555[s] 666[ms] prec= -1 --> -555.6 | -555.666 | -555s666ms | -555[s] 666[ms] prec= 0 --> -555 | -555 | -555s | -555[s] .