Javascript ile bütçe uygulaması oluşturuyorum. Javascript'in operasyonların çoğunu yapmasına izin vermeliyim. Dolayısıyla, kullanıcının bir kategori için istenen miktarı değiştirdiği bazı denetimlerim var ve uygulamam alt kategoriler için yeni miktarları gösteriyor. Ben Yani varsa + Otomatik $ 50.23 - Kullanıcı, 90.00 ile Gaz, Bakım, Sigorta, vb miktarları Auto 50.23 değişir ...javaScript ile Para birimi işlemleri?
Yani eğer - Gaz $ 30.25 - Bakım $ 6.27 - $ 10.02 Sigorta Ebeveyn kategorisindeki% artışı yansıtacaktır.
Sorun şu ki, birkaç işlemden sonra hassaslığı kaybediyorum ve bazı hatalar yaratıyor. Sayıların çoğu zaman eklemez (gerektiği gibi). Otomatik miktarını birkaç kez değiştirdikten sonra 0'a ayarladıktan sonra, diğer miktarlar her zaman 0'a gitmez ve bazen 0'ın altına giderler ve daha sonra bir NaN verirler. NaN NaN'de kalacak.
Birinin, javascript'teki kesirlerin bir başka problem olan yaklaşık değerler olduğunu söylediğini duydum. Bunun bir gerçek olup olmadığını görmek için google'ı denedim, ancak hiçbir şey bulamadım (belki doğru terimleri aramamıştım)
Bazılarınızın benzer problemlerle karşılaştığından emin olabilirsiniz. önermek? Biri orijinal numaramı 100 ile çarpmayı önerdi ve daha sonra tüm işlemleri yaptı, ama korkarım ki bu, hassasiyeti kaybetme probleminden kurtulmam için bana yardımcı olmayacaktır.
Herhangi bir fikrin var mı?
Yardımlarınız için minnettar olacağım!
JS'deki her sayı bir kayan nokta sayısıdır, ancak 2-yer numaralarında çok fazla hassasiyet kaybetmemelisiniz. FP yuvarlama bir sorun haline gelmeden önce, kelimenin tam anlamıyla binlerce veya milyonlarca yinelemeye ihtiyacınız var. Hesaplamalarınızı yaptığınız yerde kodunuzun ilgili kısmını gösterebiliyor musunuz? Bütün sayfaya ihtiyacımız yok, sadece bu küçük. –
de muhtemelen kendi sınıfınızı dolar ve sent (tüm tamsayı) gibi özelliklerle oluşturabilir ve kendi işlemlerinizi gerçekleştirebilirsiniz. – spacevillain
fp ekleme hataları javascript'te en sık bildirilen hatalardır. – jzilla