From a5a70dd83cbe444b8c3818814a16d5df4f9cd971 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Wed, 24 Apr 2019 15:09:39 +0200 Subject: [PATCH] #4356 Qt5 : Conversion of float value to text string does not work for all values --- .../cafUserInterface/cafPdmUiLineEditor.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiLineEditor.cpp b/Fwk/AppFwk/cafUserInterface/cafPdmUiLineEditor.cpp index cd877a593d..e5a777ea80 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiLineEditor.cpp +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiLineEditor.cpp @@ -152,7 +152,22 @@ void PdmUiLineEditor::configureAndUpdateUi(const QString& uiConfigName) QString displayString; if (leab.m_displayString.isEmpty()) { +#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) && QT_VERSION < QT_VERSION_CHECK(5, 9, 0)) + bool valueOk = false; + double value = uiField()->uiValue().toDouble(&valueOk); + if (valueOk) + { + // Workaround for issue seen on Qt 5.6.1 on Linux + int precision = 8; + displayString = QString::number(value, 'g', precision); + } + else + { + displayString = uiField()->uiValue().toString(); + } +#else displayString = uiField()->uiValue().toString(); +#endif } else {