# [Issue 2906] New: writef problem with formatting floating point

`http://d.puremagic.com/issues/show_bug.cgi?id=2906`
```
Summary: writef problem with formatting floating point
Product: D
Version: 2.030
Platform: PC
OS/Version: Windows
Status: NEW
Severity: normal
Priority: P2
Component: Phobos
AssignedTo: bugzi...@digitalmars.com
ReportedBy: bugzi...@digitalmars.com

The following code:

import std.stdio ;
import std.date ;

int main ( string[] args ) {
invariant n = 1000000000L ;
invariant delta = 1.0 / n ;
invariant startTime = getUTCtime ( ) ;
real sum = 0.0 ;
for ( auto i = 1L ; i <= n ; ++i ) {
invariant x = ( i - 0.5 ) * delta ;
sum += 1.0 / ( 1.0 + x * x ) ;
}
invariant pi = 4.0 * sum * delta ;
invariant elapseTime = ( cast (real) ( getUTCtime ( ) - startTime ) )
/ ticksPerSecond ;
writefln ( "==== D Sequential pi = %f" , pi ) ;
writefln ( "==== D Sequential iteration count = %d" , n ) ;
writefln ( "==== D Sequential elapse = %f" , elapseTime ) ;
writefln ( "==== D Sequential elapse = %s" , elapseTime ) ;
printf ( "==== D Sequential elapse = %Lg\n" , elapseTime ) ;
return 0 ;
}

Produces the output:

==== D Sequential pi = -88796093704866379077000000000000000000000000.000000
==== D Sequential iteration count = 1000000000
==== D Sequential elapse =
-1204799831137578238800000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000.000000
==== D Sequential elapse = -1.2048e+142
==== D Sequential elapse = 110.718

writefln() is incorrectly formatting reals with the %f and %s formats.

--

```
• [Issue 2906] New: writef problem with formatting floating point d-bugmail