[Mono-bugs] [Bug 71112][Nor] New - Integer/Floating point formatters need to be rewritten.

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Sat, 8 Jan 2005 21:22:36 -0500 (EST)

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by miguel@ximian.com.


--- shadow/71112	2005-01-08 21:22:36.000000000 -0500
+++ shadow/71112.tmp.1627	2005-01-08 21:22:36.000000000 -0500
@@ -0,0 +1,48 @@
+Bug#: 71112
+Product: Mono: Class Libraries
+Version: unspecified
+OS Details: 
+Status: NEW   
+Priority: Normal
+Component: CORLIB
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: miguel@ximian.com               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+Summary: Integer/Floating point formatters need to be rewritten.
+The current Integer and Floating point formatters do not match the 
+functionality in output of .NET and contain several bugs.
+The worst part is that fixing the bugs is fairly complicated due to the
+code structure.  
+A new implementation should begin with an extensive test suite of numbers,
+formats and the expected output.
+Surprisingly the code to format numbers in Mono (Integer+Floating point)
+than the Gnumeric number formatter and the Gnumeric formatter has to 
+do more as Excel supports many more rendering styles, conditions and
+even coloring.
+The gnumeric code could be used for inspiration, as the formatting rules
+are surprisngly similar (including the n-section rendering) and lives
+in gnumeric/src/format.c
+The details (and some poor samples) are available in the .NET docs, as:
+.NET Framework SDK/
+  Programming with the .NET Framework/
+    Working with Base Types/
+      Formatting Types/
+        Numeric Format Strings/
+The samples are poor, that is why various tests are needed to get the
+same behavior, it seems to be inspired by Excel, so Gnumeric might prove
+useful, for a small catalog, see: Format/Cells, then select "Custom"
+formatting from the list.