dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dotgnu-pnet-commits] pnetlib ./ChangeLog runtime/System/Private/Numb...


From: Heiko Weiss
Subject: [dotgnu-pnet-commits] pnetlib ./ChangeLog runtime/System/Private/Numb...
Date: Tue, 16 May 2006 05:34:44 +0000

CVSROOT:        /sources/dotgnu-pnet
Module name:    pnetlib
Branch:         
Changes by:     Heiko Weiss <address@hidden>    06/05/16 05:34:43

Modified files:
        .              : ChangeLog 
        runtime/System/Private/NumberFormat: Formatter.cs 

Log message:
        fixed rounding problem in FormatFloat.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnetlib/ChangeLog.diff?tr1=1.2404&tr2=1.2405&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/dotgnu-pnet/pnetlib/runtime/System/Private/NumberFormat/Formatter.cs.diff?tr1=1.13&tr2=1.14&r1=text&r2=text

Patches:
Index: pnetlib/ChangeLog
diff -u pnetlib/ChangeLog:1.2404 pnetlib/ChangeLog:1.2405
--- pnetlib/ChangeLog:1.2404    Sun May 14 11:22:46 2006
+++ pnetlib/ChangeLog   Tue May 16 05:34:43 2006
@@ -1,3 +1,7 @@
+2006-05-16  Heiko Weiss  <address@hidden>
+
+       * runtime/System/Private/NumberFormat/Formatter.cs: fixed rounding 
problem in FormatFloat.
+
 2006-05-14  Deryk Robosson  <address@hidden>
 
        * DotGNU.Images/JpegLib.cs: Add [NonSerialzedAttribute] tag to an
Index: pnetlib/runtime/System/Private/NumberFormat/Formatter.cs
diff -u pnetlib/runtime/System/Private/NumberFormat/Formatter.cs:1.13 
pnetlib/runtime/System/Private/NumberFormat/Formatter.cs:1.14
--- pnetlib/runtime/System/Private/NumberFormat/Formatter.cs:1.13       Thu Apr 
13 15:18:08 2006
+++ pnetlib/runtime/System/Private/NumberFormat/Formatter.cs    Tue May 16 
05:34:43 2006
@@ -360,18 +360,11 @@
                        {
                                return 
NumberFormatInfo(provider).NegativeInfinitySymbol;
                        }
-                       else if (val < 0)
-                       {
-                               ret = "-" + 
-                                       Formatter.FormatFloat(
-                                                       -val + 5 * Math.Pow(10, 
-precision - 1)
-                                                       ,precision);
-                       }
-                       else
-                       {
-                               ret = Formatter.FormatFloat(
-                                               val + 5 * Math.Pow(10, 
-precision - 1) 
-                                               ,precision);
+                       else {
+                               // do not round here, is done in 
Formatter.FormatFloat
+                               if (val < 0) ret = "-" + Formatter.FormatFloat( 
-val, precision );
+                               else         ret =       Formatter.FormatFloat( 
 val, precision );
+
                        }
                }
 #endif
@@ -469,6 +462,12 @@
        {
                if (value == 0.0) return ".";
 
+               // Rounding code
+               double r = 5 * Math.Pow(10, -precision - 1);
+                               
+               if( value < 0 ) value -= r;
+               else            value += r;
+               
                //  
                //int exponent = (int)Math.Floor(Math.Log10(Math.Abs(value)));
                int exponent = Formatter.GetExponent( value );




reply via email to

[Prev in Thread] Current Thread [Next in Thread]