Выравнивание десятичных точек в HTML

Попытайтесь обновить с CD Ubuntu 12.04 вместо этого. При выборе опции установки, она должна спросить Вас, если Вы хотите обновить существующую систему Ubuntu.

68
задан MikeB 5 November 2013 в 14:23
поделиться

5 ответов

См. эту статью Крайна Хоэтмера , чтобы узнать о возможных вариантах и ​​способах этого. Суть этого решения заключается в использовании CSS и JS для достижения этой цели:

 (function () {var currencies = / (\ $ | € | & euro;) /; var leftWidth = 0, rightWidth = 0; for (var tableCounter = 0, tables = document.getElementsByTagName ("table"); tableCounter  1 доллар "); rightPart = fCols [j] + parts.pop (); tds [j] .innerHTML = "" + leftPart + " " + rightPart + ""; } else {tds [j] .innerHTML = tds [j] .innerHTML.replace (валюты, " $ 1 "); tds [j] .innerHTML = "" + tds [j] .innerHTML + ""; } tds [j] .className = "выравнивание символов"; var txt = документ. createTextNode (tds [j] .firstChild.offsetWidth); если (leftWidth  \ n" + ". fix-align-char td.char-align {width: "+ (leftWidth + rightWidth) +" px;} \ n "+" .fix-align-char span.left {float: left; text-align: right; width: "+ leftWidth +" px;} \ n "+" .fix-align-char span.currency {text-align: left; float: left;} \ n "+" .fix-align-char span.right {float: право; выравнивание текста: слева; ширина: «+ rightWidth +» пикселей; } \ n "+"  \ n "; document.body.innerHTML + = styleText;}) (); 
 table {border-collapse: collapse; width: 600px;} th {padding: .5em ; background: #eee; text-align: left;} td {padding: .5em;} # only-css td.char-align {width: 7em;} # only-css span.left {float: left; width: 4em; text-align: right;} # only-css span.currency {float: left; width: 2em; text-align: left;} # only-css span.right {float: right; width: 3em; text- align: left;} 
 
Number Описание Стоимость
1 Lorem ipsum dolor sit amet < Aenean egestas gravida magna $ 123 , 999
21
ответ дан 24 November 2019 в 14:22
поделиться

вы можете просто напечатать числа так, чтобы в них всегда было одинаковое количество десятичных знаков, и выровнять их по правому краю?

4
ответ дан 24 November 2019 в 14:22
поделиться

Если числа являются моноширинными, можно использовать javascript для настройки заполнения ячейки (в EMS) в зависимости от количества цифр перед десятичной точкой. В противном случае это может быть сложно.

0
ответ дан 24 November 2019 в 14:22
поделиться

Я поигрался с jQuery и придумал это ...

 $ (document) .ready (function () {$ ('. ABDP'). Each (function () {var WholePart, FractionPart; WholePart = Math.floor ($ (this) .text () - 0); FractionPart = Math.floor (($ (this) .text ()% 1) * 10000 + 0,5) / 10000 + ""; html = '' + wholePart + '.' + ''; html + = '' + FractionPart.substring (2) + ''; $ (this) .html (html);})}) 
 .right {выравнивание текста: слева; } .left {float: left; выравнивание текста: вправо; ширина: 10em; } 
  <ширина таблицы = "600" border = "1">  <                  
8
ответ дан 24 November 2019 в 14:22
поделиться

Другой способ форматирования числа будет выглядеть следующим образом: 35.000. То есть, запишите его с полным десятичным расширением, а последующие десятичные знаки напишите невидимыми чернилами. Таким образом, вам не придется беспокоиться о ширине десятичной точки.

16
ответ дан 24 November 2019 в 14:22
поделиться