Javascript'te tek duyarlıklı yüzdeyi bir şekilde taklit etmek mümkün mü? Doug Crockford'un bloguna göre "Number 64-bit kayan nokta" dır, fakat tek bir hassas float hatası hesaplayan C++ algoritmasını taşımak için tek bir tane kullanmalıyım.Javascript'te tek duyarlıklı yüzdürme öykünmesi (float32)
6
A
cevap
4
ES6 standardı, float64'ü float32'ye dönüştüren ve sonra tekrar geri dönen, float32 hassasiyetini etkin bir şekilde yuvarlatan Math.fround() öğesine sahiptir. Ayrıntılar için bkz. this article.
-1
Bu JavaScript fonksiyonunu deneyin. Sayıyı altı ondalık basamağa yuvarlamak için .tofixed (6) kullanır.
function ToSingle(s) {
s = s.toString().toUpperCase();
if (s.indexOf("E") == -1) s = parseFloat(s).toExponential().toUpperCase();
if (s.indexOf("E") == -1) return s
var o = s.split("E");
var s1 = o[0];
if (s1.indexOf(".") == -1) return s
if (s1.split(".")[1].length < 7) return s;
var num = parseFloat(s1);
if (num + "" == "NaN") return s;
return num.toFixed(6) + "E" + o[1];
}
İlgili konular
- 1. Neden "tek duyarlıklı" bir şamandıra?
- 2. Tek tip olmayan ızgara yüzdürme
- 3. Bluetooth fare/klavye öykünmesi
- 4. Float32 to Float16
- 5. Kapsayıcı CSS Yüzdürme Adımı
- 6. iPhone/iPad çift duyarlıklı matematik
- 7. Nesnede var mı yoksa javascriptte mi var
- 8. Chrome DevTools touch öykünmesi çalışmıyor
- 9. Dize float32'ye dönüştürüyor musunuz?
- 10. Sağ Taraf, yüzdürme olmadan hizala
- 11. F # içinde bir yüzdürme nasıl?
- 12. MySQLs öykünmesi PHP dizisi karşılaştırmalarında utf8_general_ci harmanlama
- 13. pandas pandas.read_csv ile dtype float32 belirtme 0.10.1
- 14. float32'den int'ye gitmek için 0'dan
- 15. Android NFC Kart öykünmesi sabit UID
- 16. Hibernate Validator - bean validation kullanarak çift ve yüzdürme değerlerini doğrulama
- 17. Tek Hassas Matematik Operasyonları?
- 18. Python'da tek hassasiyetli kayan noktaya benzetmenin doğru yolu?
- 19. Tek bir komutla çoklu komutları tek tek
- 20. ActionBar Color'u tek tek değiştirin?
- 21. Tek tek pdf grafiklerini r
- 22. Güncelleme mysql'nin tek tek kayıtları
- 23. Tek tek baloncukların adlandırılması Highcharts
- 24. Queryset verilerini tek tek alma
- 25. php dosyasını tek tek yükleme?
- 26. Tek satırlı yorumları tek tek tıklat Geri dön Yorumlar
- 27. Pencere öğelerini tek tek tek olarak yeniden boyutlandırma
- 28. Besteci tek tek eşlenmiş yükleme sınıfları
- 29. angularJS - Sorgu tek tek nasıl yapılır?
- 30. Dizeyi tek tek kelimelerle bölme Java
İki yorum: (1) Son sözcük "hata" değil "hata" olmalıdır. "hata" kayan nokta hesaplamaları ile ilgili teknik bir terimdir. (2) Kayan nokta hesaplamasında neden hataya ihtiyaç duyduğunuza dair bir bağlam verebilir misiniz? Javascript'te tek bir hassaslık uyandırmadan nihai hedefinize ulaşmanın başka yolları da olabilir. –