4

我希望下面的两个测试(为 NUnit 编写)都能通过,但 Decimal 版本失败,“System.FormatException:格式说明符无效”,Double 版本也是如此。我不知道为什么。有人可以阐明吗?

谢谢; 邓肯

[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" ) );
}
4

1 回答 1

8

摘自http://msdn.microsoft.com/en-us/library/fzeeb5cd(v=VS.90).aspx

“格式参数可以是任何有效的标准数字格式说明符,除了 D、R 和 X ....”

惊人的。

于 2010-11-08T20:36:01.100 回答