Skip to content

Commit 61a4c48

Browse files
pierstitusnyalldawson
authored andcommitted
calculate reasonable number of decimals on classify
1 parent 47e178a commit 61a4c48

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/gui/raster/qgssinglebandpseudocolorrendererwidget.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -418,10 +418,14 @@ void QgsSingleBandPseudoColorRendererWidget::on_mClassifyButton_clicked()
418418
QList<double>::const_iterator value_it = entryValues.begin();
419419
QVector<QColor>::const_iterator color_it = entryColors.begin();
420420

421+
// calculate a reasonable number of decimals to display
422+
double maxabs = log10( std::max<double>( std::fabs( max ), std::fabs( min ) ) );
423+
int nDecimals = round( std::max<double>( 3.0 + maxabs - log10( max - min ), maxabs <= 6.0 ? maxabs + 0.49 : 0.0 ) );
424+
421425
for ( ; value_it != entryValues.end(); ++value_it, ++color_it )
422426
{
423427
QgsTreeWidgetItem* newItem = new QgsTreeWidgetItem( mColormapTreeWidget );
424-
newItem->setText( 0, QString::number( *value_it, 'g' ) );
428+
newItem->setText( 0, QString::number( *value_it, 'g', nDecimals ) );
425429
newItem->setBackground( 1, QBrush( *color_it ) );
426430
newItem->setText( 2, "" );
427431
newItem->setFlags( Qt::ItemIsEnabled | Qt::ItemIsEditable | Qt::ItemIsSelectable );

0 commit comments

Comments
 (0)