Question

Je me attends à deux tests ci-dessous (écrit pour NUnit) de passer, mais la version décimale échoue avec, « System.FormatException: spécificateur Format était invalide », tout comme une version double. Je ne peux pas comprendre pourquoi. Quelqu'un peut-il s'il vous plaît faire la lumière?

Merci; 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" ) );
}
Était-ce utile?

La solution

http://msdn.microsoft .com / fr-fr / bibliothèque / fzeeb5cd (v = VS.90) .aspx

"Le paramètre de format peut être un indicateur de format numérique standard valide sauf D, R et X ...."

Impressionnant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top