Pregunta

espero que las dos pruebas siguientes (escrito para NUnit) para pasar, pero la versión decimal falla con "System.FormatException: Especificador de formato no es válido", al igual que una versión doble. No puedo entender por qué. Por favor alguien puede arrojar luz?

Gracias; 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" ) );
}
¿Fue útil?

Solución

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

"El parámetro de formato puede ser cualquier formato numérico especificador estándar válido a excepción de D, R, y X ...."

impresionante.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top