+2008-01-13 Eyal Alaluf <eyala@mainsoft.com>
+
+ * NumberFormatter.cs, Double.cs, Single.cs: Fix Single & Double default
+ ToString to handle +-Infinity & NaN.
+
+
2008-01-14 Sephane Delcroix <sdelcroix@novell.com>
* DateTimeOffset.cs: ParseExact (string, string, IFormatProvider)
implemented.
+
2008-01-14 Zoltan Varga <vargaz@gmail.com>
* NumberFormatter.cs: Remove some redundant assignments.
public override string ToString ()
{
NumberFormatInfo nfi = NumberFormatInfo.GetInstance (null);
- return new NumberFormatter(null, m_value).FormatGeneral (-1, nfi);
+ return new NumberFormatter(null, m_value).FormatGeneral (nfi);
}
public string ToString (IFormatProvider provider)
{
NumberFormatInfo nfi = NumberFormatInfo.GetInstance (provider);
- return new NumberFormatter(null, m_value).FormatGeneral (-1, nfi);
+ return new NumberFormatter(null, m_value).FormatGeneral (nfi);
}
public string ToString (string format)
return nfc.FormatGeneral (_defPrecision + 2, nfi);
}
- public string FormatGeneral (int precision, NumberFormatInfo nfi)
+ public string FormatGeneral (NumberFormatInfo nfi)
+ {
+ if (_NaN)
+ return nfi.NaNSymbol;
+
+ if (_infinity)
+ if (_positive)
+ return nfi.PositiveInfinitySymbol;
+ else
+ return nfi.NegativeInfinitySymbol;
+
+ return FormatGeneral (-1, nfi);
+ }
+
+ private string FormatGeneral (int precision, NumberFormatInfo nfi)
{
bool enableExp;
if (precision == -1) {
public override string ToString ()
{
NumberFormatInfo nfi = NumberFormatInfo.GetInstance (null);
- return new NumberFormatter(null, m_value).FormatGeneral (-1, nfi);
+ return new NumberFormatter(null, m_value).FormatGeneral (nfi);
}
public string ToString (IFormatProvider provider)
{
NumberFormatInfo nfi = NumberFormatInfo.GetInstance (provider);
- return new NumberFormatter(null, m_value).FormatGeneral (-1, nfi);
+ return new NumberFormatter(null, m_value).FormatGeneral (nfi);
}
public string ToString (string format)
+2008-01-14 Eyal Alaluf <eyala@mainsoft.com>
+
+ * DoubleTest.cs: Test +-Infinity & NaN default ToString (bug #353603)
+
2008-01-14 Stephane Delcroix <sdelcroix@novell.com>
* DateTimeOffsetTest.cs: Tests for ParseExact (string, string,
}
[Test]
- [Category ("NotWorking")]
public void TestRoundtrip () // bug #320433
{
Assert.AreEqual ("10.78", 10.78.ToString ("R", NumberFormatInfo.InvariantInfo));
AssertEquals ("#03", "+1.000000E-000", (-1.0).ToString ("E", nfi));\r
}\r
\r
+ [Test]\r
+ public void TestNaNToString ()\r
+ {\r
+ AssertEquals ("#01", "Infinity", Double.PositiveInfinity.ToString());\r
+ AssertEquals ("#02", "-Infinity", Double.NegativeInfinity.ToString());\r
+ AssertEquals ("#03", "NaN", Double.NaN.ToString());\r
+ AssertEquals ("#01", "Infinity", Single.PositiveInfinity.ToString());\r
+ AssertEquals ("#02", "-Infinity", Single.NegativeInfinity.ToString());\r
+ AssertEquals ("#03", "NaN", Single.NaN.ToString());\r
+ }\r
+\r
[Test]\r
public void Test11032 ()\r
{\r