2010-09-18 18 views
7

Sabit Math.Pi, yansıtıcıya ve MSDN'ye göre 3.14159265358979323846'ya eşittir. Visual Studio 2010'da Math sınıfına bakarken, değer 3.14159 olarak görüntülenir. Değerli sabitleri kestirmek için kimi suçlayabilirim?VS'de görüntülenmek üzere çifte sabitler kesiliyor mu?

+0

İlgili http://stackoverflow.com/q/3742692/38206 –

cevap

2

Kendimi tekrar ettiğim için üzgünüm, ama bu numarayı nasıl alıyorsunuz? Sabit üzerinde gezinirseniz veya VS2010'daki Immediate veya Watch penceresine yazdırırsam, 3.1415926535897931 elde ederim, bu da Reflector'da mscorlib'e bakarken elde ettiğim değer.

MSDN iddialarından daha az hassas olsa da, hala söz konusu sayıdan çok daha iyi. VS kayan nokta sayılarını yazdırmak için bir format seçmelidir. Gördüğüm sonuçlar ile varsayılanı oldukça kabul edilebilir buluyorum.

1

Belki de VS 2010 için numaranın çıktısını değiştiren bir eklentiniz var. Ya da numarayı sığacak şekilde kesmek zorunda olan bir görüntü bağlamında görüntülüyorsunuz. Tam olarak Visual Studio'da bu numarayı görüntülüyor musunuz? OP bu gönderme değil neden bu kadar inanılmaz çok şeyleri temizlemek gibi

6

ben, bilmiyorum ama aşağıdaki gibi üretebilir:

  • Açık
  • Matematik girin IDE. PI bir .cs dosyasına.
  • Math.PI sağ tıklayın ve Bu aşağıdakileri içerir Matematik için Meta Veri dosyası, açılır

'tanımı Git' tıklayın:

// 
    // Summary: 
    //  Represents the ratio of the circumference of a circle to its diameter, specified 
    //  by the constant, π. 
    public const double PI = 3.14159; 
+0

Görünüşte Resharper, VS'den daha iyi bir meta veri görünümü sağlar ve Reflektörle aynı değeri verir. Ancak, Yeniden Paylaştırmayı devre dışı bırakırsam açıkladığınız sonucu alırım. Garip. –

+5

Yup, olması gerekiyor. Bu metin meta verilerden otomatik olarak oluşturulur. Ve açıkça, net tipteki genel sabitleri, 15 önemli basamaklı bir dizgeye dönüştürmekten rahatsız olmaz. C/C++ 'da printf() işlevinin% f format type belirteci ile varsayılan biçimlendirme davranışıdır. Meta veri numaralandırma arabirimi COM tabanlı olduğundan bu kodun C++ ile yazılması çok olasıdır. –

+0

Teşekkürler Hans, Bu oldukça ilginç! – mpeterson

2

Sen VS suçlayabilir meta veri görünümü, F12 tuşuna bastığınızda kaynağa sahip olmadığınız bir şeyle elde ettiğiniz şeydir.

En azından, yaptığınız şeyin bu olduğunu varsayalım, çünkü bahsettiğiniz kesik sabitini bulabildiğim tek yer burası.

Neden yapıyor/nereden alıyor? Kim bilir?