سؤال

أتوقع أن يمر كلا الاختبارين أدناه (مكتوب لـ Nunit) ، لكن الإصدار العشري يفشل مع "System.Formatexception: كان محدد التنسيق غير صالح" ، وكذلك إصدار مزدوج. لا أستطيع أن أعلم لماذا. هل يمكن لأي شخص إلقاء الضوء؟

شكرًا؛ دنكان

[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" ) );
}
هل كانت مفيدة؟

المحلول

exerpt من http://msdn.microsoft.com/en-us/library/fzeeb5cd(v=vs.90).aspx

"يمكن أن تكون المعلمة التنسيق أي تحديد تنسيق رقمي قياسي صالح باستثناء D و R و X...."

رائع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top