title: It seems that I have a rounding issue with SAS PROC FORMAT
body: <p>It seems that I have a rounding issue with SAS <code>PROC FORMAT</code>. The code is as below:</p>
  
  <pre><code>proc format;
  value testf 
      -1.85E-13--1.85E-13 = 'negative'
      0-0 = 'zero';
  run;
  
  data test;
      input number best32.;
      cards;
  0
  ;
  run;
  
  data test2;
      set test;
      format varlabel $50.;
      varlabel = put(number, testf.);
  run;
  </code></pre>
  
  <p>The code is easy: first, create a format, with two options, a negative number really closed to zero and zero itself. Second, create dataset test, with a single observation whose number variable equals to 0. Third, create another dataset, with applied format. I expect to see test2 with number = 0 and varlabel = 'zero' but actually I see test2 with number = 0 and varlabel = 'negative'. Anyone knows why and how to fix this problem? Much appreciated for any suggestion/help.</p>