SORU
15 EYLÜL 2008, PAZARTESİ


Muhasebe Uygulama Tutarı Şamandıra veya Ondalık kullanmak?

VB.NET ve SQL Server eski Muhasebe Sistemi yeniden yazma. Yeni bir ekip getirdik .NET SQL Programcıları yeniden yazmak/ yapmak. Sistem çoğu zaten yüksek miktarda Dolar Yüzer kullanılarak tamamlandı. Eski sistem dili, programladım, muhtemelen bir Ondalık kullanmış diye bir Şamandıra yoktu.

Öneriniz nedir?

Şamandıra veya Ondalık veri türü para miktarı için kullanılmalıdır?

Ya da artı ve eksileri nelerdir?

Bir Mahkum günlük scrum sözü edilen iki ondalık konum üzerinde bir sonuç döndüren bir miktarı hesaplarken dikkatli olmak zorunda. İki ondalık konumlar için bir miktar yuvarlak olacak gibi geliyor.

Başka bir Con görüntüler ve basılı tutarlar iki ondalık pozisyonları gösteren Biçim bir Deyim var. Bu yapılmadı ve miktarda doğru bakmadı birkaç kere fark ettim. (yani 10.2 veya 10.2546)

Bir pro tek Ondalık 9 bayt (Ondalık 12,2) alacağını diskte 8 bayt kaplar Kaydır

CEVAP
15 EYLÜL 2008, PAZARTESİ


Şamandıra veya Ondalık veri türü para miktarı için kullanılmalıdır?

Cevap basit. Hiç yüzer.ASLA!

Yüzer IEEE 754 göre her zaman ikili, yeni standart IEEE 754R ondalık biçimleri tanımlanmış. Kesirli ikili parçaların çoğu asla tam ondalık eşit olabilir gösterimi. Herhangi bir ikili sayı m/2^n (m, n pozitif tam sayı), m/(2^n*5^n) gibi bir ondalık sayı olarak yazılabilir. İkili asal çarpanı tüm ikili ondalık sayılar tam olarak temsil edilebilir, ama tersi değil. 5, eksikliği

0.3 = 3/(^1 * 2 5^1) = 0.3

0.3 = [0.25/0.5] [0.25/0.375] [0.25/3.125] [0.2825/3.125]

     1/4       1/8     1/16       1/32

Aklından bir sayı daha yüksek veya verilen ondalık sayı daha düşük olur. Her zaman.

Bunun önemi var mı ? Yuvarlama. Normal yuvarlama, 5..9 0..4 Aşağı Yukarı anlamına gelir. Bu yüzdenyokeğer sonuç olması önemli 0.049999999999.... ya ya 0.0500000000... 5 cent anlamına geldiğini bilmiyor olabilir, ama bilgisayar ve mermi 0.4999... (yanlış) ve 0.5000... (sağda) bilmez. Kayan nokta hesaplamaları sonucu her zaman küçük hata terimleri içeren verilen karar sadece şans. -Yuvarlak bile ondalık istiyorsanız, umutsuz olur ikili sayı ile işleme.

İkna mı ? Hesap sistem her şeyi mükemmel tamam olduğunu ısrar ediyorsunuz ? Varlık ve yükümlülüklerin eşit? Tamam, o zaman her giriş belirli biçimlendirilmiş sayıları her alır, onları ayrıştırmak ve bağımsız ondalık sistemi ile onları topla ! Biçimlendirilmiş toplamı ile karşılaştırın. Oops, yanlış bir şey var, değil mi ?

Bu hesaplama için, aşırı hassasiyet ve doğruluk (Oracle kullandık gerekli "Tahakkuk etmiş olmak. bir kuruş" milyarıncı kayıt böylece ŞAMANDIRA)

Bu hata karşı yardımcı olmuyor. Tüm insanlar bilgisayarı otomatik olarak doğru miktarda varsayalım, çünkü hiç kimse bağımsız olarak denetler resmen.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • androidandme

    androidandme

    10 Mart 2009
  • DavidParody

    DavidParody

    17 EKİM 2009
  • Sergio Lafuente Rubio

    Sergio Lafue

    11 Aralık 2008