Resolves: fdo#42747 limits need to multiplied by num of decimal places
NumericFormatter limits need to multiplied by num of decimal places because the arg is a long so to retain decimal places its got to be raised up by the num of places Change-Id: Idbc49a9b1dde5fe176e5170d3be605a998050da5
This commit is contained in:
@@ -2085,6 +2085,13 @@ void DbCurrencyField::implAdjustGenericFieldSetting( const Reference< XPropertyS
|
||||
bool bThousand = getBOOL( _rxModel->getPropertyValue( FM_PROP_SHOWTHOUSANDSEP ) );
|
||||
OUString aStr( getString( _rxModel->getPropertyValue(FM_PROP_CURRENCYSYMBOL ) ) );
|
||||
|
||||
//fdo#42747 the min/max/first/last of vcl NumericFormatters needs to be
|
||||
//multiplied by the no of decimal places. See also
|
||||
//VclBuilder::mungeAdjustment
|
||||
int nMul = rtl_math_pow10Exp(1, m_nScale);
|
||||
nMin *= nMul;
|
||||
nMax *= nMul;
|
||||
|
||||
static_cast< LongCurrencyField* >( m_pWindow )->SetUseThousandSep( bThousand );
|
||||
static_cast< LongCurrencyField* >( m_pWindow )->SetDecimalDigits( m_nScale );
|
||||
static_cast< LongCurrencyField* >( m_pWindow )->SetCurrencySymbol( aStr );
|
||||
|
Reference in New Issue
Block a user