Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod GetFormatNrDecimals (Real value1, Real value2) const declarative remote as Number 
 | 
{ 
 | 
  Description: 'Get the amount of decimals needed to show a good comparison between the two values' 
 | 
  TextBody: 
 | 
  [* 
 | 
    nr_decimals := 0; 
 | 
     
 | 
    if( value1 = value2 ) 
 | 
    { 
 | 
      value := value1; 
 | 
       
 | 
      // Determine the amount of decimals the values have 
 | 
      nr_decimals := maxvalue( 0, ([String] value ).Length() - value.Format( 'N(Dec(0))' ).Length() - 1 ); 
 | 
    } 
 | 
    else 
 | 
    { 
 | 
      // Determine the smallest non-zero value. 
 | 
      smallest := abs( value2 - value1 ); 
 | 
      if( value1 <> 0.0 and abs( value1 ) < smallest ) 
 | 
      { 
 | 
        smallest := abs( value1 ); 
 | 
      } 
 | 
      if( value2 <> 0.0 and abs( value2 ) < smallest ) 
 | 
      { 
 | 
        smallest := abs( value2 ); 
 | 
      } 
 | 
       
 | 
      while( smallest < 0.95 and smallest > 0.0 ) 
 | 
      { 
 | 
        smallest := smallest * 10; 
 | 
        nr_decimals++; 
 | 
      } 
 | 
    } 
 | 
     
 | 
    return nr_decimals; 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Protected' } 
 | 
} 
 |