ява-скрипт округление чисел после запятой
1.36363636364<br><table><tr><td>Число</td><td>129.36363636364</td><td>3.3643534564</td><td >56.818181818182</td></tr></table>помогите с ява-скриптом - чтобы длинные числа на странице после точки округлял до тысячных (убирал-удалял-скрывал числа идущие после третьей цифры после точки) |
document.body.innerHTML = document.body.innerHTML.replace(/(\d+\.\d{3})\d+/gm, '$1'); |
спасибо
|
Только если на странице есть любые другие скрипты - вышеприведённый всё сломает.)
Ruslan_xDD, не стыдно тебе такой ужас писать?) |
_Eldar_,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function(){ $('td').text(function(i, str) { return +str ? (+str).toFixed(3):str; }) }); </script> </head> <body> <table><tr><td>Число</td><td>129.36363636364</td><td>3.3643534564</td><td >56.818181818182</td></tr></table> </body> </html> |
уважаемый рони - а если еще цифры вне table - тогда как?
|
как вариант указать новый селектор $('td') <----- # . elements ... (jQuery)
|
_Eldar_,
добавить те элементы в которых есть цифры -- вариант конечно для цифр без текста - но что вы дали то получили |
_Eldar_,
найдёт всех и <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function() { $("*").contents().filter(function() { return 3 == this.nodeType }).each(function() { var a = this.data; this.data = a.replace(/\d+\.\d+/g, function(a) { return (+a).toFixed(3) }) }) }); </script> </head> <body> <table id="msgFlash"><tr><td>Число</td><td>129.36363636364</td><td>3.3643534564</td><td >56.818181818182</td></tr></table> всякая фигня 123.456789 </body> </html> |
Aetae, не-а, на всей странице же. Если бы автор привёл нормальный пример, где показывается в каких именно тэгах нужно применить данную операцию, то пожалуйста. А так по всем тэгам на странице пробегаться тоже рукожопие. :)
|
Цитата:
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function() { $("*").contents().filter(function() { return 3 == this.nodeType }).each(function() { var a = this.data; this.data = a.replace(/\d+\.\d{4,12}/g, function(a) { return (+a).toFixed(3) }) }) }); </script> </head> <body> -0.000005155102<br>5.5<br><table><tr><td>Число</td><td>56.039026226151</td><td>3.364353456415</td><td >56.818181818182</td></tr></table> </body> </html> |
_Eldar_,
а сам что-нибудь? вот вам дока http://javascript.ru/RegExp ваша задача сделать так чтоб 5.5 скрипт даже не пытался преобразовать, взамен получите ноль ))) |
Цитата:
|
_Eldar_, малоли думать не захочется, внизу общее решение, но в нём нет того решения что требуется от вас в 12 посте, оно за вами.
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function() { $("*").contents().filter(function() { return 3 == this.nodeType }).each(function() { var a = this.data; this.data = a.replace(/-?\d+\.\d+/g, function(a) { return +(+a).toFixed(3) }) }) }); </script> </head> <body> <table id="msgFlash"><tr><td>Число</td><td>129.36363636364</td><td>3.3643534564</td><td >56.818181818182</td></tr></table> всякая фигня -123.456789 -0.00000515<br>5.5 </body> </html> |
Цитата:
|
Цитата:
|
Цитата:
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function() { $("*").contents().filter(function() { return 3 == this.nodeType }).each(function() { var a = this.data; this.data = a.replace(/-?\d+\.\d+/g, function(a) { var len = a.match(/\.0+/); len = len && len[0].length > 3 ? len[0].length : 3; return +(+a).toFixed(len) }) }) }); </script> </head> <body> <table id="msgFlash"><tr><td>Число</td><td>129.36363636364</td><td>3.3643534564</td><td >56.818181818182</td></tr></table> всякая фигня -123.456789 0.00589 -0.000005155102<br>5.5 </body> </html> |
Часовой пояс GMT +3, время: 20:59. |