File tree Expand file tree Collapse file tree
deepin-devicemanager/src/DeviceManager Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -59,6 +59,7 @@ static QString decimalkilos(quint64 value)
5959 const QString prefixes (" KMGTPEZY" );
6060 int i = 0 ;
6161 quint64 curValue = value;
62+ QString valueStr = QString ();
6263 while ((i < prefixes.size ()) && ((curValue > 1000 ) || (curValue % 1000 == 0 )))
6364 {
6465 value = curValue;
@@ -69,12 +70,15 @@ static QString decimalkilos(quint64 value)
6970 if (i < 4 ) {
7071 quint64 diffValue = value - curValue * 1000 ;
7172 double calValue = diffValue / 1000.0 + 0.1 ;
72- curValue += static_cast <quint64>(calValue);;
73- }
74-
75- QString valueStr = QString::number (curValue) + " " ;
76- if ((i > 0 ) && (i <= prefixes.size ())) {
77- valueStr += prefixes[i - 1 ];
73+ curValue += static_cast <quint64>(calValue);
74+ valueStr = QString::number (curValue) + " " ;
75+ if (i > 0 )
76+ valueStr += prefixes[i - 1 ];
77+ } else if (i <= prefixes.size ()) { // 单位T以上处理
78+ if (value % 1000 >= 1 )
79+ valueStr = QString::number (value) + " " + prefixes[i - 2 ]; // 保留小数部分 如1920GB 10001GB
80+ else
81+ valueStr = QString::number (curValue) + " " + prefixes[i - 1 ]; // 无小数部分入整 如1TB
7882 }
7983 valueStr += " B" ;
8084 return valueStr;
You can’t perform that action at this time.
0 commit comments