|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
Подскажите простой способ выровнять текст по десятичной точке, без добавления лишних нулей? Ну, и то, что получилось, надо выровнять вправо Как надо: Код: plaintext 1. 2. 3. 4. 5. 6.
Как НЕ надо: Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2017, 15:23 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
а текст моноширинный? И в каком компоненте его надо выровнять? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2017, 17:31 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
проще число разбить на 2 части и выравнивать левую часть по правому краю, а правую часть по левому краю, профит, либо вариант номер 2, измерять размер текста до точки или после точки и выравнивать ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2017, 11:22 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
Roman Mejtesпрощену все-таки что проще зависит от контейнера. Если контейнер - моноширинный текстбокс, то проще отформатировать ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2017, 12:17 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
Shocker.Pro, ясно дело, мы даже не знаем, разбиты тут строки по контролам или все в 1 куче. Есть еще одна идея :) можно на белом фоне, ".000" делать белого цвета :D и тогда выравнивание будет за счет символов (моноширных), а видимость за счет цвета :) (это при условии, что текст не реактируемый конечно и не копируемый) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2017, 12:30 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
Shocker.Proа текст моноширинный? Если бы! Shocker.ProИ в каком компоненте его надо выровнять? Обычный DataGrid и WinForm-овский DataGridView ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2017, 14:43 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
Roman Mejtesможно на белом фоне, ".000" делать белого цвета :D Можно на любом фоне ".000" делать прозрачного цвета ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2017, 14:44 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
ну тогда спецконтрол с трехкомпонентым выравниваниваем я б не стал заморачиваться с вычислениями ширины текста ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2017, 14:45 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
как по мне, это вообще выглядит по уродски, когда 1 числа идет с дробной частью, а целый без неё. имхо, но глазу приятнее с нулями, чем без нулей. Тем более, нули можно сделать "бледными", если они сильно глаз мазолят. Сделать это будет на много проще и смотреться будет куда приятнее ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2017, 15:06 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
Как вариант, "ненужные" конечные нули заменить на символ "FIGURE SPACE" (U2007), а разделительную точку на "PUNCTUATION SPACE" (U2008). Выписка из Вики : ... FIGURE SPACE имеет такую же ширину, что и цифры в данном шрифте, и предназначен для набора таблиц. Неразрывный. ... PUNCTUATION SPACE ширина равна ширине точки ... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2017, 15:08 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
если размер 2 столбца фиксированный, то можно через TextBlock.Inlines всё сделать. Разбиваем текст на 3 части (Run), целое, точка, дробное. Задаем фиксированный размер Run, выравниваем всё направо. Профит. Как вариант если размер не фиксированный, можно вычислить его, не особо проблема Размер строки, можно легко узнать через FormattedText ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2017, 15:13 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
Coltтакую же ширину, что и цифры в данном шрифте только вот беда - далеко не во всех шрифтах цифры одинаковой ширины )) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2017, 16:45 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
Shocker.Pro, в нормальных шрифтах на сколько я помню цифры всегда моноширные. если конечно готический использовать или еще какой, то может и разные, но в стандартном наборе точно все цифры одной ширины, инфа 100% :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2017, 16:47 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
Roman Mejtesв нормальных шрифтах на сколько я помню цифры всегда моноширные. если конечно готический использовать или еще какой, то может и разные, но в стандартном наборе точно все цифры одной ширины, инфа 100% :)88888888888888888888 11111111111111111111 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2017, 17:22 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
Roman Mejtesкак по мне, это вообще выглядит по уродски, когда 1 числа идет с дробной частью, а целый без неё. Дело не в том, у кого есть дробная часть, а у кого нет. Дело в том, что у разных чисел - разная длина дробной части. Roman Mejtesимхо, но глазу приятнее с нулями, чем без нулей. Ну а мой заказчик - иного мнения. Мне деньги получить важнее, чем привить ему другой вкус. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 13:57 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
Roman Mejtesесли размер 2 столбца фиксированный, то можно через TextBlock.Inlines всё сделать. Разбиваем текст на 3 части (Run), целое, точка, дробное. Задаем фиксированный размер Run, выравниваем всё направо. Профит. Как вариант если размер не фиксированный, можно вычислить его, не особо проблема Размер строки, можно легко узнать через FormattedText Не понял, каким задать фиксированный размер Run-а. Изначально неизвестна максимальная точность. И даже если известна, в выборке все равно могут быть числа, все с мЕньшим числом знаков. Т.е. проходить по всем числам - надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 14:00 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
Сразу оговорюсь, что дальше - не решение, а скорее зачаток мысли. Может он поможет в решении, а может и окажется бессмысленным. Идея в том, что RTF почти один к одному переводиться в FlowDocument, а в стандарте RTF есть такой тип табуляции, как "выравнивание по разделителю", которое позволяет отобразить числа как в первом посте. Разметка RTF файла выглядит примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Можно ли это все нормально перевести в FlowDocument и поможет ли это решению - не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 15:15 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
ColtСразу оговорюсь, что дальше - не решение, а скорее зачаток мысли. Может он поможет в решении, а может и окажется бессмысленным. Идея в том, что RTF почти один к одному переводиться в FlowDocument, а в стандарте RTF есть такой тип табуляции, как "выравнивание по разделителю", которое позволяет отобразить числа как в первом посте. Разметка RTF файла выглядит примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Можно ли это все нормально перевести в FlowDocument и поможет ли это решению - не знаю. табуластопы в FlowDocument не поддерживаются :( ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 15:52 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
13th, Картинки еще не предлагали? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 16:02 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
refreg, неа. Предлагай! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 17:48 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
проблему решили? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2017, 18:32 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
Roman Mejtes, нет. Пока отложил, сейчас другие 2 проекта запустил. Пока думаю. Самое смешное, что всего год назад делал это же на С++/WTL. Сделал за 2 часа (: ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2017, 11:42 |
|
Как выровнять текст по десятичной точке?
|
|||
---|---|---|---|
#18+
13thRoman Mejtes, нет. Пока отложил, сейчас другие 2 проекта запустил. Пока думаю. Самое смешное, что всего год назад делал это же на С++/WTL. Сделал за 2 часа (: ну ни кто же не мешает делать это точно так же на WPF, используйте Render'инг и FormattedText тоже самое, только проще :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2017, 12:12 |
|
|
start [/forum/topic.php?fid=21&msg=39437207&tid=1440535]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 158ms |
0 / 0 |