我有JavaScript代碼,經常輸出非常大的數字,我想完全顯示而不是得到一個值,如2.7934087356437704e+56
我希望它顯示整個數。是否有可能在JS中發生這種情況?Javascript顯示真的很大的數字,而不是顯示xe + n
6
A
回答
3
有了這麼大的數字,你將失去JavaScript的精度。它返回的指數形式是Javascript可以表示的最精確的形式。但是,如果您不關心精度的損失,只需要擴展數字的字符串,則可以使用自己的函數來執行此操作。我找不到一種方法可以在本地執行此操作,因此您必須將其添加到自己中。
我發現這個片斷它會替您Jonas Raoni Soares Silva:
String.prototype.expandExponential = function(){
return this.replace(/^([+-])?(\d+).?(\d*)[eE]([-+]?\d+)$/, function(x, s, n, f, c){
var l = +c < 0, i = n.length + +c, x = (l ? n : f).length,
c = ((c = Math.abs(c)) >= x ? c - x + l : 0),
z = (new Array(c + 1)).join("0"), r = n + f;
return (s || "") + (l ? r = z + r : r += z).substr(0, i += l ? z.length : 0) + (i < r.length ? "." + r.substr(i) : "");
});
};
的利用方法是:
> var bignum = 2.7934087356437704e+56;
> (bignum+'').expandExponential();
"279340873564377040000000000000000000000000000000000000000"
你必須先投下數爲字符串,因此+''
如果您確實需要準確的精度,您可以嘗試使用庫如Big Number或javascript-bignum。
+0
:)精度並不重要,我只是需要它是正確的數字位數的長度。謝謝! – Seb
1
相關問題
- 1. 顯示很大數
- 2. 顯示一個很大的負數(C++)
- 3. 顯示n^2不是O(n * log(n))?
- 4. uiwebview顯示html真的很小...?
- 5. 顯示字符串,而不是在printf的數字(C)
- 6. 在液晶顯示器上顯示的特殊字符而不是數字 - Arduino
- 7. 垃圾,而不是字符串顯示
- 8. JavaScript顯示圖像和文字而不是提示消息
- 9. Node.js - console.log不顯示數組中的項目,而是顯示[Object]
- 10. Javascript顯示代碼而不是執行
- 11. bundle.js顯示HTML代碼而不是javascript
- 12. 字體真棒顯示亞洲標誌而不是圖標
- 13. 顯示Kibana數據表的,而不是
- 14. ListView顯示一些數字而不是對象的字段
- 15. 字體真棒在不顯示WordPress的
- 16. DATAS很好的展示,而迭代通過字節顯示字節而不是其他
- 17. 如何使默認像數字而不是隻顯示Facebook的圖標顯示?
- 18. 組合字段顯示默認值,而不是顯示值
- 19. 的Javascript GET請求參數顯示爲字符串,而不是數字
- 20. CgridView顯示圖像而不是文字
- 21. 顯示對象而不是字符串
- 22. 而不顯示
- 23. 顯示值而不是鍵
- 24. TCPDF顯示?而不是Č
- 25. 顯示1k而不是1,000
- 26. 表顯示,而不是零
- 27. 顯示NULL而不是零
- 28. HTML/PHP Sysmbol/Charsat只顯示???而不是真實的
- 29. 顯示布爾作爲真/假,而不是1/0在NSTableView的
- 30. 顯示字符串的列表,而不是一個顯示一個字符串
看看這裏的答案http://stackoverflow.com/questions/4170633/opposite-of-number-toexponential-in-js – TommyBs
你真的需要60位精確數字嗎?誰應該閱讀他們,你在與他們計算什麼? – Bergi