diff --git a/src/Mod/Spreadsheet/Gui/SheetModel.cpp b/src/Mod/Spreadsheet/Gui/SheetModel.cpp index 7ac9611fdd..341466214f 100644 --- a/src/Mod/Spreadsheet/Gui/SheetModel.cpp +++ b/src/Mod/Spreadsheet/Gui/SheetModel.cpp @@ -392,10 +392,15 @@ QVariant SheetModel::data(const QModelIndex &index, int role) const { /* Number */ double d; + long l; + bool isInteger = false; if(prop->isDerivedFrom(App::PropertyFloat::getClassTypeId())) d = static_cast(prop)->getValue(); - else - d = static_cast(prop)->getValue(); + else { + isInteger = true; + l = static_cast(prop)->getValue(); + d = l; + } switch (role) { case Qt::ForegroundRole: { @@ -431,10 +436,11 @@ QVariant SheetModel::data(const QModelIndex &index, int role) const //QString number = QString::number(d / displayUnit.scaler); v = number + Base::Tools::fromStdString(" " + displayUnit.stringRep); } - else { - v = QLocale().toString(d,'f',Base::UnitsApi::getDecimals()); + else if (!isInteger) { + v = QLocale::system().toString(d,'f',Base::UnitsApi::getDecimals()); //v = QString::number(d); - } + } else + v = QString::number(l); return QVariant(v); } default: