[Mono-devel-list] Bug? in (float) ToString
yoros at wanadoo.es
yoros at wanadoo.es
Sun May 4 17:50:14 EDT 2003
On Sun, May 04, 2003 at 03:59:08PM -0500, Burton M. Strauss III wrote:
> Don't own a copy of Microsoft's product - all I use is mono...
>
> The test you asked about,
>
> Console.WriteLine(2.00.ToString("F2"));
> ^ added that...
>
> Direct:
> 2
>
> -----Burton
>
>
> -----Original Message-----
> From: yoros at wanadoo.es [mailto:yoros at wanadoo.es]
> Sent: Sunday, May 04, 2003 3:24 PM
> To: Burton M. Strauss III
> Cc: mono-devel-list at lists.ximian.com
> Subject: Re: [Mono-devel-list] Bug? in (float) ToString
>
>
> On Sun, May 04, 2003 at 10:19:24AM -0500, Burton M. Strauss III wrote:
> > The results of ToString() (explicit or implicit) on double values isn't
> what
> > I would expect. Mono seems to be ignoring the format specifier and using
> > "G":
> >
> > using System;
> > public class test {
> > public static void Main() {
> > // Expected values per
> > //
> >
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/htm
> > l/cpconstandardnumericformatstrings.asp
> > // F or f Fixed-point The number is converted to a string of the form
> > "-ddd.ddd..." where
> > // each 'd' indicates a digit (0-9). The string starts with a minus
> > sign if the
> > // number is negative. The precision specifier indicates the
> desired
> > number of
> > // decimal places. If the precision specifier is omitted, the
> default
> > numeric
> > // precision given by the NumberFormatInfo is used.
> > Console.WriteLine("F2:");
> > Console.WriteLine("Expected 2.00: {0:F2}", 2.0);
> > Console.WriteLine("Expected 2.00: {0:F2}",
> > 2.0.ToString("#0.00"));
> > Console.WriteLine("Expected 2.01: {0:F2}", 2.01);
> > Console.WriteLine("Expected 2.02: {0:F2}", 2.015);
> > Console.WriteLine("#0.00:");
> > Console.WriteLine("Expected 2.00: {0:#0.00}", 2.0);
> > Console.WriteLine("Expected 2.01: {0:#0.00}", 2.01);
> > Console.WriteLine("Expected 2.02: {0:#0.00}", 2.015);
> > Console.WriteLine("Explicit:");
> > Console.WriteLine("Expected 2.00: {0:F2}",
> > 2.0.ToString("#0.00"));
> > }
> > }
> >
> > F2:
> > Expected 2.00: 2
> > Expected 2.00: 2
> > Expected 2.01: 2.01
> > Expected 2.02: 2.015
> > #0.00:
> > Expected 2.00: 2
> > Expected 2.01: 2.01
> > Expected 2.02: 2.015
> > Explicit:
> > Expected 2.00: 2
> >
> >
> > Or, maybe I'm crazy.
>
> That bug is not in float formatter (I think so). Try to use:
>
> Console.WriteLine(2.00.ToString("F2");
>
> The bug may be in String.Format that should call X.ToString("F2") when
> {0:F2} is in the format string.
>
> Please, test it in MS.NET and file a bug in bugzilla.ximian.com (corlib)
> so we have enough information to fix it.
>
> Regards,
>
> Pedro
>
> --
> Pedro Martínez Juliá
> \ yoros at terra.es
> )| yoros at wanadoo.es
> / http://yoros.cjb.net
> Socio HispaLinux #311
> Usuario Linux #275438 - http://counter.li.org
> GnuPG public information: pub 1024D/74F1D3AC
> Key fingerprint = 8431 7B47 D2B4 5A46 5F8E 534F 588B E285 74F1 D3AC
>
I have CVS version. A moment, I will try:
Console.WriteLine("{0:F2}", 2.00);
I get 2.00, that's right.
Take a look at CVS version, please. You must test CVS before file a bug.
Regards,
Pedro
--
Pedro Martínez Juliá
\ yoros at terra.es
)| yoros at wanadoo.es
/ http://yoros.cjb.net
Socio HispaLinux #311
Usuario Linux #275438 - http://counter.li.org
GnuPG public information: pub 1024D/74F1D3AC
Key fingerprint = 8431 7B47 D2B4 5A46 5F8E 534F 588B E285 74F1 D3AC
More information about the Mono-devel-list
mailing list