ID:               1029
 Comment by:       story-sex42 at hotmail dot com
 Reported By:      leif dot thuresson at tsl dot uu dot se
 Status:           Closed
 Bug Type:         Feature/Change Request
 Operating System: Linux
 PHP Version:      4.0
 New Comment:

<a href=http://a4-young-teens-fist.da.ru>story sex</a>


Previous Comments:
------------------------------------------------------------------------

[2002-06-15 09:20:52] [EMAIL PROTECTED]

I've no clue what this is about... printf seems to work just fine here
with exponentional numbers.

Derick

------------------------------------------------------------------------

[2001-07-22 12:28:38] [EMAIL PROTECTED]

Should this request be closed?  It's really old...

------------------------------------------------------------------------

[2001-02-10 12:55:06] [EMAIL PROTECTED]

really reassigned to 4.0 this time.

------------------------------------------------------------------------

[1999-11-12 11:31:07] joey at cvs dot php dot net

Moving to feature req.

------------------------------------------------------------------------

[1999-01-05 06:29:54] leif dot thuresson at tsl dot uu dot se

System: Linux, Apache with PHP-module
Problem: printf (& sprintf) dosn't handle exponential format for floats
correctly

Comment: This isn't actually a bug since it isn't documented to work in
the manual.
                I nedded exponential format in my application and since
the function
                "formatted_print.c" already had some support for exp.
format (but
                not working correctly) the simplest solution was to fix
it in the php source code.
                Below is my patch to  "formatted_print.c" if you would
like to include it 
                in a future rease of PHP.
                Thanks for a great tool for building web interfaces to
databases !

                Regards,
                   -leif



*** formatted_print.c.org       Mon Jan  4 21:06:38 1999
--- formatted_print.c   Mon Jan  4 21:13:09 1999
***************
*** 257,263 ****
        } else if (precision > MAX_FLOAT_PRECISION) {
                precision = MAX_FLOAT_PRECISION;
        }
!       cvt = _php3_cvt(number, precision, &decpt, &sign, (fmt == 'e'));
  
        if (sign) {
                numbuf[i++] = '-';
--- 257,266 ----
        } else if (precision > MAX_FLOAT_PRECISION) {
                precision = MAX_FLOAT_PRECISION;
        }
!       if (fmt == 'e')
!               cvt = _php3_cvt(number, precision+1, &decpt, &sign, 1);
!       else
!               cvt = _php3_cvt(number, precision, &decpt, &sign, 0);
  
        if (sign) {
                numbuf[i++] = '-';
***************
*** 288,294 ****
        while (cvt[j]) {
                numbuf[i++] = cvt[j++];
        }
! 
        numbuf[i] = '\0';
  
        if (precision > 0) {
--- 291,311 ----
        while (cvt[j]) {
                numbuf[i++] = cvt[j++];
        }
!       if (fmt == 'e') {
!               int exponent = decpt-1;
!               numbuf[i++] = 'e';
!               if (exponent < 0)
!                       numbuf[i++] = '-';
!               else
!                       numbuf[i++] = '+';
!               exponent = abs(exponent);
!               if (exponent > 99)      {
!                       numbuf[i++] = '0' + exponent / 100;
!                       exponent = exponent % 100;
!               }
!               numbuf[i++] = '0' + exponent / 10;
!               numbuf[i++] = '0' + exponent % 10;
!       }
        numbuf[i] = '\0';
  
        if (precision > 0) {


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=1029&edit=1

Reply via email to