Frage

erwarte ich, dass beiden Tests unter (geschrieben für NUnit) zu übergeben, aber die Dezimal-Version schlägt mit „System.FormatException: Formatspezifizierer war ungültig“, ebenso wie eine Doppel Version. Ich kann nicht herausfinden, warum. Kann jemand bitte beleuchten?

Danke; Duncan

[Test]
public void Integer_Format_Hex()
{
    //Assume
    Int32 myValue = 11101110;

    //Arrange

    //Act

    //Assert
    Assert.That( String.Format( "0x{0:X8}" , myValue ) , Is.EqualTo( "0x00A963B6" ) );
}

[Test]
public void Decimal_Format_Hex()
{
    //Assume
    Decimal myValue = 11101110m;

    //Arrange

    //Act

    //Assert
    Assert.That( String.Format( "0x{0:X8}" , myValue ) , Is.EqualTo( "0x00A963B6" ) );
}

[Test]
public void Decimal_Format_Hex2()
{
    //Assume
    Decimal myValue = 11101110m;

    //Arrange

    //Act

    //Assert
    Assert.That( myValue.ToString( "X" ) , Is.EqualTo( "00A963B6" ) );
}
War es hilfreich?

Lösung

Exerpt von http://msdn.microsoft .com / de-de / library / fzeeb5cd (v = VS.90) aspx

"Der Formatparameter jeder gültiger Standard numerische Formatbezeichner sein kann mit Ausnahme von D, R und X ...."

Awesome.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top