Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Замена запятой на точку у чисел
|
|||
|---|---|---|---|
|
#18+
Привет всем. Нужно сделать так, чтобы в строке (string) только у чисел разделитель целой и дробной части (запятая) менялся на точку. В остальных местах, где встречается запятая, менять ее не нужно. Это понадобилось потому, что при импорте формулы из текстового файла запятая меняется на точку с запятой, и из-за этого всё портится. Если же в файле заменить запятую на точку, то при импорте получается запятая. Правда, пока точно не уверен, встречаются ли у меня запятые еще кроме как в числах, но иногда это может быть где-то теоретически. Например, как разделитель аргументов функции или что-то в этом роде. Здесь проблема как раз в этом, будут ли еще запятые где-нибудь. Если нет, то можно просто с помощью Replace. Но если будут, надо как-то определять это для чисел. Когда-то я делал похожую вещь на PHP. М.б., у кого-нибудь есть готовая функция для VBA? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2010, 20:28 |
|
||
|
Замена запятой на точку у чисел
|
|||
|---|---|---|---|
|
#18+
Так а какая может быть строка? и какие варианты чисел. Без примера сложно же судить, все зависит от ваших исходных данных. Можно, например, поискать вперед и назад обрамляющие пробелы и концы строк, вычленить данное "слово" и проверить его функцией IsNumeric. Можно посмотреть два соседних знака, являются ли они цифрами... В общем нет конкретного ответа пока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2010, 20:40 |
|
||
|
Замена запятой на точку у чисел
|
|||
|---|---|---|---|
|
#18+
Строка - некоторая формула с возможными вложенностями, скобки, знаки и т.п. Например, такая =3+5,2*МИН(5;2+3,5). Теоретически может и такая: =Ф(5,3+B1). И вот тут-то начинаются проблемы - то ли это 2 аргумента через запятую, то ли это число 5,3. Поэтому по идее надо везде делать точку с запятой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2010, 20:46 |
|
||
|
Замена запятой на точку у чисел
|
|||
|---|---|---|---|
|
#18+
motorwayНапример, как разделитель аргументов функции или что-то в этом роде. Ну, допустим, встретится у вас сочетание МояФункция(1,2) И как определить, то ли это один аргумент дробный, то ли два целых аргумента через запятую. Так что уж формализуйте свои требования. Тогда и ответ сам придет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2010, 20:48 |
|
||
|
Замена запятой на точку у чисел
|
|||
|---|---|---|---|
|
#18+
motorwayТеоретически может и такая: =Ф(5,3+B1). И вот тут-то начинаются проблемы - то ли это 2 аргумента через запятую, то ли это число 5,3. Поэтому по идее надо везде делать точку с запятой. вот и я о том. Так кроме вас этого никто не знает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2010, 20:50 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36618133&tid=2159825]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 134ms |

| 0 / 0 |
