|
Упрощение кода
|
|||
---|---|---|---|
#18+
потому что этот набор цифр, точек, минусов и точек запятой VB затруднился преобразовать в Single ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 16:48 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Shocker.Proпотому что этот набор цифр, точек, минусов и точек запятой VB затруднился преобразовать в Single Я из excel пробую. Там нет никаких точек с запятой. Обычные цифры. пробовал и с точкой и с запятой в качестве разделителя. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 16:52 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Считай строку в переменную и выведи ее на экран. Потом прочитай, что я тебе написал, как действовать ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 17:01 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Хочу по-своему)) Так же тоже правильно как я привел. Уже разобрался. Дело не в том что VB затруднился распознать минусы, точки. Я убрал Line и оставил только Input и прекрасно определили данные как single ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 17:03 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
vdekameronЯ убрал Line и оставил только Inputа, да, а я и забыл про эту возможность ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 17:09 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
vdekameronХочу по-своему)) Так же тоже правильно как я привел. Уже разобрался. Дело не в том что VB затруднился распознать минусы, точки. Я убрал Line и оставил только Input и прекрасно определили данные как single а теперь смени региональные установки на английский и посмотри что у тебя случиться ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 17:19 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Konst_One а теперь смени региональные установки на английский и посмотри что у тебя случиться Включил , все работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 17:41 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Konst_Oneа теперь смени региональные установки на английский и посмотри что у тебя случитьсяобрати внимание на скрин - у него там точка в качестве разделителя. Вполне возможно, что в прочитанном массиве уже только целая часть числа.... или у него и так стоит английский vdekameron, нельзя полагаться на неявную конверсию чисел, она будет работать по-разному при различных региональных настройках в виндузе ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 17:42 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
vdekameronВключил , все работает.работает.... ошибок не выдает. А ты смотрел, ЧТО ИМЕННО попало в массив? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 17:43 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
vdekameronKonst_One а теперь смени региональные установки на английский и посмотри что у тебя случиться Включил , все работает. не верю Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 17:45 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Konst_Oneне верю Код: vbnet 1. 2. 3. 4. 5. 6.
это код будет корректно работать в английском варианте, а в русском выдаст ошибку Но кто сказал, что в Input используется CSng? Скорее уж что-то типа Val, который не дает ошибку (но может не увидеть дробную часть) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 17:55 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Shocker.ProKonst_Oneне верю Код: vbnet 1. 2. 3. 4. 5. 6.
это код будет корректно работать в английском варианте, а в русском выдаст ошибку Но кто сказал, что в Input используется CSng? Скорее уж что-то типа Val, который не дает ошибку (но может не увидеть дробную часть)Даже наврал. Val корректно работает именно с точкой, так что тут, похоже, все ок ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 17:58 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
У меня тут пару минут осталось работать) Но не поленюсь скрины сделать) Это скрин при Нормальных настройках - Россия ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 17:59 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
бл. спешу) не тот. На первом скрине Русские, втором - Англ. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 18:01 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
а вот теперь подумай, что будет если на русском компе сохранят файлик, а на английском компе попытаются его открыть ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 18:07 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Konst_Oneа вот теперь подумай, что будет если на русском компе сохранят файлик, а на английском компе попытаются его открыть А это не тоже самое что делал я на одном и том же компе? Сохранил файл. Поменял рег. настройки на англ. и открыл. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 19:11 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Shocker.ProСчитываешь одну строку, делишь функцией Split и записываешь в массив Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Запись в строку и биение сплитом ведь не спасет при изменении рег. настроек Почему Type mismach? Ведь и cdbl определяет как double и массив задан как double ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2015, 13:45 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
vdekameronЗапись в строку и биение сплитом ведь не спасет при изменении рег. настроекНет. Сплит не нужен, я просто забыл, что можно читать не целиком строку. vdekameronПочему Type mismach? Ведь и cdbl определяет как double и массив задан как doubleCDbl не понимает точку в качестве десятичного разделителя. Ему нужно то, что настроено в панели управления как десятичный разделитель. То есть нужно либо использовать Val, либо предварительно заменять в тестовой строке точку на текущий десятичный разделитель. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2015, 14:08 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Shocker.ProТо есть нужно либо использовать Val Val не подойдет. Т.к. он не работает при значениях меньше 1 Shocker.Proлибо предварительно заменять в тестовой строке точку на текущий десятичный разделитель. А как приказать менять точку именно на ТЕКУЩИЙ десятичный разделитель? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2015, 14:15 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
vdekameronVal не подойдет. Т.к. он не работает при значениях меньше 1с чего ты взял? продемонстрируй. vdekameronА как приказать менять точку именно на ТЕКУЩИЙ десятичный разделитель?вопрос сводится к тому, как получить текущий десятичный разделитель. Покури функцию Format$ ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2015, 14:25 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Не знал, что CDbl работает только с текущим разделителем. Также думал что Val в любом случае не работает с значением меньше 1, оказывается что не работает только с тек. разделителем. Возвращая значение - 0. А если точка стоит , то норм. Конечно мне проще использовать в данном случае Val , но я же не знаю что такое Format$ Поэтому почитаю про нее и попробую сделать вторым вариантом ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2015, 14:40 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
vdekameronчто не работает только с тек. разделителемя выше писал, но ты прохлопал. Val работает с ТОЧКОЙ. CDbl/CSng - с текущим разделителем. Допустим, если у тебя всегда точка в исходном файле, то тебе достаточно Val. Костя поднял другой вопрос - что будет, если кто-то поправит файл так, что там будут запятые, а не точки. Если такого не предполагается (файл ты будешь править сам и блокнотом), то и ок. Можно делать проверки при чтении файла (все зависит от уровня дистрибуции - если пользуешься программой сам и для себя, можно и забить, если планируешь, что ее будет кто-то эксплуатировать - обязательно надо делать проверки при чтении файла (что есть все, что надо, что нет ничего лишнего, что правильные разделители, что значения попадают в приемлемый диапазон и т.п.) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2015, 14:47 |
|
Упрощение кода
|
|||
---|---|---|---|
#18+
Shocker.ProМожно делать проверки при чтении файла (все зависит от уровня дистрибуции - если пользуешься программой сам и для себя, можно и забить, если планируешь, что ее будет кто-то эксплуатировать - обязательно надо делать проверки при чтении файла (что есть все, что надо, что нет ничего лишнего, что правильные разделители, что значения попадают в приемлемый диапазон и т.п.) Спасибо за этот совет. Не думал об этом. Код: vbnet 1. 2. 3. 4. 5. 6.
Я конечно был знаком с ф-ей Format , но думал что у нее узкая функциональность, сейчас читаю и очень интересно склько много может. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2015, 14:58 |
|
|
start [/forum/topic.php?fid=60&msg=38911375&tid=2155998]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
61ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 160ms |
0 / 0 |