diff --git a/src/generic/grid.cpp b/src/generic/grid.cpp index e27d34ae3e..a3f5811893 100644 --- a/src/generic/grid.cpp +++ b/src/generic/grid.cpp @@ -1159,20 +1159,25 @@ void wxGridCellFloatEditor::SetParameters(const wxString& params) wxString wxGridCellFloatEditor::GetString() const { wxString fmt; - if ( m_width == -1 ) - { - // default width/precision - fmt = _T("%f"); - } - else if ( m_precision == -1 ) + if ( m_precision == -1 && m_width != -1) { // default precision fmt.Printf(_T("%%%d.f"), m_width); } - else + else if ( m_precision != -1 && m_width == -1) + { + // default width + fmt.Printf(_T("%%.%df"), m_precision); + } + else if ( m_precision != -1 && m_width != -1 ) { fmt.Printf(_T("%%%d.%df"), m_width, m_precision); } + else + { + // default width/precision + fmt = _T("%f"); + } return wxString::Format(fmt, m_valueOld); }