|
|
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
Есть таблица настроек. 2 столбца - параметр, значение (оба поля стринг). Дробные числовые значения я храню как 0.00 - через точку. Как мне преобразовать строку в число, если я не знаю какие региональные установки на компьютере пользователя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 17:44:37 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
F1: CCur, CDbl, CLng etc. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 17:55:51 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
1 в лоб - преобразовать CDbl - перехватить ошибку сделать replace .-->, 2 сейчас не вспомню - на конфе Саныч приводил пример безусловного приведения типов Format-ом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 17:58:37 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
2 Vsevolod V попробуй ?cсur("0.01") при русских настройках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 17:59:08 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
2 Shuhard а можно поподробнее про саныча. примерно где искать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 18:00:22 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
AlTis2 Shuhard а можно поподробнее про саныча. примерно где искать? Саныч - знамо дело на исторической родине хануку справляет искать в 20000 его топиках бесполезно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 18:04:26 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
AlTis2 Vsevolod V попробуй ?cсur("0.01") при русских настройках F1 нажимал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 18:06:39 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
Vsevolod V AlTis2 Vsevolod V попробуй ?cсur("0.01") при русских настройках F1 нажимал? разделитель в системе , автор ?Cdbl("1,1") 1,1 ?Cdbl("1.1") облом To Vsevolod V - а у тебя как ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 18:12:43 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
Хорошо работает Str() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 18:13:01 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
1) По-моему вопрос задан некорректно. 2) Как преобразовывается строка в число я тебе показал и у меня это работает. 3) Что такое "русские настроики" в твоем понимании я не знаю (видимо здесь имеется ввиду разделитель целой и дробной части ","). 4) проблему замены запятой точкой с помощию чего угодно я поднимал около года назад (видимо именно этот топик имеет ввиду Shuhard) 5) самый надежный способ заменить запятую точкой - это изменить программно региональные установки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 18:15:46 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
в пункте 4 забыл сказать, что решение не было найдено :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 18:16:47 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
Vsevolod V1 Что такое "русские настроики" в твоем понимании я не знаю (видимо здесь имеется ввиду разделитель целой и дробной части ","). 2 самый надежный способ заменить запятую точкой - это изменить программно региональные установки 1 - да конечно 2 - не есть хорошо ,например при разумном шаблоне безопасности юзер не имеет прав + на рабочей станции может крутиться уйма программ,которые таковую замену не перенесут 3 - Latuk - тот всегда в adp делает условный replace ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 18:20:25 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
Стоп-стоп-стоп! Мы же работаем со стрингом "1.01"! То есть никакие региональные настройки не мешают подменить точку запятой в стринге: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 18:28:06 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
Возникает, кстати, попутный вопрос: а зачем хранить числовые данные в стринге, да еще и через "."? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 18:29:46 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
строку в число независимо от настроек пользователя - Val при этом десятичный разделитель в исходной строке тоже не должен зависеть от настроек у пользователя, допускается только точка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 18:35:20 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
То есть никакие региональные настройки не мешают подменить точку запятой в стринге: Тут-то и таится опасность стрингов в SQL выражениях! Он (SQL) отлично проглатывает точки и кашляет на запятые! Собственно, весь сыр-бор только из-за этого! Повторяю, при приклейке к стрингам дробных выражений в региональных настройках, где десятичный разделитель не точка, удобно пользоваться функцией Str() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 18:41:42 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
Лох Позорныйстроку в число независимо от настроек пользователя - Val при этом десятичный разделитель в исходной строке тоже не должен зависеть от настроек у пользователя, допускается только точка. OK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 18:59:27 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
Спасибо за интерес к теме. 2 ЛП Как всегда на высоте, за что большое спасибо! решение: ?VAL("0.01") 0,01 Тема закрыта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 19:00:18 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
AlTisСпасибо за интерес к теме. 2 ЛП Как всегда на высоте, за что большое спасибо! решение: ?VAL("0.01") 0,01 Тема закрыта. Однако стоит проверить, что стринг не null и что это действительно число, иначе VAL выдаст ошибку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 19:07:23 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryОднако стоит проверить, что стринг не null и что это действительно число, иначе VAL выдаст ошибку. А переменная типа String бывает Null? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 19:17:03 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
если не число - то выдаст 0 не ошибка, но все равно неприятно так что проверка IsNumeric лишней не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 19:17:47 |
|
||
|
Преобразовать строку в число
|
|||
|---|---|---|---|
|
#18+
Всем привет. Я Саныч. Ничего кроме val, что я мог бы советовать по этому поводу, припомнить не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 19:17:59 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32819532&tid=1669867]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 318ms |

| 0 / 0 |
