我希望下面的两个测试(为NUnit编写)都能通过,但是Decimal版本失败了,“System.FormatException:Format说明符无效”,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" ) );
}
答案 0 :(得分:8)
摘自http://msdn.microsoft.com/en-us/library/fzeeb5cd(v=VS.90).aspx
“格式参数可以是任何有效的标准数字格式说明符
真棒。