|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
Здравствуйте! Помогите пожалуйста преобразовать число 73146000 в строку и отформатировать ее к виду: 73 146 000р. в построителе выражений для отчета. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 15:54 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
А почему именно преобразовать в строку? А просто денежный формат поля в отчете тебе не подойдет? Видимый результат абсолютно такой же как ты просил. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 16:01 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
format(73146000,"### ### ###")&"р." ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 16:02 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
Владимир Санычformat(73146000,"### ### ###")&"р." Владимир Саныч, решеток можно и поменьше Достаточно "# ###" ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 16:11 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
AlexBessonovА почему именно преобразовать в строку? А просто денежный формат поля в отчете тебе не подойдет? Видимый результат абсолютно такой же как ты просил. Дело в том, что необходимо чтобы значение переменной, содержащей агрегированное значение являло собой часть в одной большой строке, например: Код: plaintext
Код: plaintext
P.S. Видимо изначально некорректно сформулировал вопрос, под конец дня голова кипит :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 16:16 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
Владимир Санычformat(73146000,"### ### ###")&"р." Вот и все заработало: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 16:20 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
Можно в принципе "рублей" писать сразу в формате поля: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 16:28 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
AlexBessonovВладимир Санычformat(73146000,"### ### ###")&"р." Владимир Саныч, решеток можно и поменьше Достаточно "# ###" Я проверил, прежде чем написать. Почему-то формат "# ###" дал мне 73146 000p., без первого пробела. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 16:35 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
Владимир СанычЯ проверил, прежде чем написать. Почему-то формат "# ###" дал мне 73146 000p., без первого пробела. Хм. Владимир Саныч, я бы тоже без проверки не решился давать советы такому "монстру" Правда проверял я в 2007-м. Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 16:41 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
Может, это как-то связано с региональными настройками... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 17:00 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
Владимир СанычМожет, это как-то связано с региональными настройками... Нет, это связано с местом применения функции Format. В коде VBA это выглядит так: ?Format(123456789.123,"# , ### . 00"" рублей""") 123 456 789.12 рублей ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 17:21 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )Владимир СанычМожет, это как-то связано с региональными настройками... Нет, это связано с местом применения функции Format. В коде VBA это выглядит так: ?Format(123456789.123,"# , ### . 00"" рублей""") 123 456 789.12 рублей Этот код у меня вставляет запятые. Что это, если не региональные настройки? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 17:30 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
Владимир СанычЭтот код у меня вставляет запятые. Что это, если не региональные настройки? А что вернет Format(123456789.123,"Currency")? Если запятые, то в ваших региональных настройках указана ",". Замените на "_" - их и вернет. У меня, кстати, пробел в шаблоне дает то же, что и у вас. ?Format(123456789.123,"# ###.00"" рублей""") 123456 789.12 рублей Т.е. пробел принимается как литерал. Пример ниже добавляет лишний лидирующий пробел. ?Format(123456789.123,"### ### ### ###.00"" рублей""") 123 456 789.12 рублей ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 17:47 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )А что вернет Format(123456789.123,"Currency")? Если запятые, то в ваших региональных настройках указана ",". Замените на "_" - их и вернет. Именно. Так что дело таки в настройках. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 17:51 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
Владимир СанычAlexBessonovВладимир Санычformat(73146000,"### ### ###")&"р." Владимир Саныч, решеток можно и поменьше Достаточно "# ###" Я проверил, прежде чем написать. Почему-то формат "# ###" дал мне 73146 000p., без первого пробела. Я обратил внимание на то, что в этом месте форматирование текста происходит корректно (если писать это в функции Format), а если в отчете у элемента управления "поле" в свойстве "Формат поля" написать "# ###", то например, вместо 16 000 форматирует как 160 00 Но ведь результат должен быть одинаковым! Вообще я не устаю поражаться компанией Microsoft. Что от чего зависит в некоторых случаях, как например этот - это тайна, наверное даже для самой компании Microsoft. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 18:21 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
rsolanov... а если в отчете у элемента управления "поле" в свойстве "Формат поля" написать "# ###", то например, вместо 16 000 форматирует как 160 00... Проверил, у меня выдает правильно 16 000. Все чудесатее и чудесатее. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2009, 09:19 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
автор Т.е. пробел принимается как литерал. Пример ниже добавляет лишний лидирующий пробел. ?Format(123456789.123,"### ### ### ###.00"" рублей""") 123 456 789.12 рублей ?Format(89.123,"### ### ### ###.00"" рублей""") вернёт 3 лидирующий пробела LTrim(Format(89.123,"### ### ### ###.00"" рублей""")) если уж извращаться...... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2009, 09:51 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
для универсализма Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2009, 10:11 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
AlexBessonovrsolanov... а если в отчете у элемента управления "поле" в свойстве "Формат поля" написать "# ###", то например, вместо 16 000 форматирует как 160 00... Проверил, у меня выдает правильно 16 000. Все чудесатее и чудесатее. rsolanov, что у вас возвращает Debug.Print Me![Поле].Format? У меня при формате поля # ###" р." поле показывает 16 000 р., а при # ### " р." (пробел перед кавічкой) - 16 р., и это - ПРАВИЛЬНО!HELPДва соседних разделителя групп разрядов или разделитель групп разрядов, стоящие сразу перед десятичным разделителем (даже если символ десятичного разделителя не указан явно), означают, что масштаб числа следует изменить, разделив его указанное число раз на 1000 и округлив по мере надобности. Такой способ позволяет выводить большие числа. Например, строка формата "##0,," отображает сто миллионов как 100, а числа, меньшие одного миллиона, как 0. Два соседних разделителя групп разрядов, находящихся в любой другой позиции, обрабатываются как один разделитель групп разрядов. Фактический символ, используемый в качестве разделителя групп разрядов, определяется установленным в системе числовым форматом. ?Format(16000,"#,###,") 16 ?Format(16000000,"#,###,,") 16 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2009, 10:50 |
|
Преобразование и форматирование числа в строку
|
|||
---|---|---|---|
#18+
rsolanov, ="Итого " & Format(Sum([Количество]);"С разделителями разрядов") & "шт на сумму" & Format(Sum([Сумма]);"С разделителями разрядов") & "руб" ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2019, 01:28 |
|
|
start [/forum/topic.php?fid=45&msg=35936819&tid=1610444]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 149ms |
0 / 0 |