реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> VS C# + МК, Тип данных ячейки
Ekka
сообщение Sep 25 2017, 11:21
Сообщение #16


Частый гость
**

Группа: Участник
Сообщений: 164
Регистрация: 12-04-16
Из: Белгород
Пользователь №: 91 250



Так и не поняла, ПОЧЕМУ 32 ячейка САМОВОЛЬНО после того, как я ввожу в нее число, большее 9, то есть 10, например, вместо string переводит его в char, берет первую цифру и считает, что это символ номер 49.
При отладке вижу, что во все другие ячейки приходит string "10", а в эту char 49 '1'. Что за штука... почему??? Как это исправить?
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 25 2017, 12:04
Сообщение #17


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Ekka @ Sep 25 2017, 14:21) *
Так и не поняла, ПОЧЕМУ 32 ячейка САМОВОЛЬНО после того, как я ввожу в нее число, большее 9, то есть 10,


Логика ничего не подсказывает? Например то, что 9-один символ, а 10 уже два... Как в этих птичьих языках здаются типы - фиг знает, но то, что цифра 10 умещается в 1 чар, а "10" - это уже 2 чара, должно быть одинаково везде. А "самовольно" смахивает на какое-то автоопределение типов, что бред ИМХО
Go to the top of the page
 
+Quote Post
Forger
сообщение Sep 25 2017, 12:37
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Ekka @ Sep 25 2017, 14:21) *
Так и не поняла...

Имхо, эту тему нельзя переносить даже в раздел новичков. По-хорошему, ее вообще стоит нафик стереть smile3046.gif
Такой адский трэш еще поискать нужно wacko.gif


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Sep 25 2017, 17:33
Сообщение #19


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(Ekka @ Sep 25 2017, 14:21) *
Так и не поняла, ПОЧЕМУ 32 ячейка САМОВОЛЬНО после того, как я ввожу в нее число, большее 9, то есть 10, например, вместо string переводит его в char, берет первую цифру и считает, что это символ номер 49.
При отладке вижу, что во все другие ячейки приходит string "10", а в эту char 49 '1'. Что за штука... почему??? Как это исправить?


если коротко и поверхносто, то...
изначально, в компьютерном мире оперировали байтом. и предполагали что этого хватит на все случаи жизни. и поставили в соответствие каждому из 256 его значений некое отображение(символ),
когда речь заходила о кодировке для того или иного формата данных(в частности текста, понятного человеку).

напротив значения 49 (шестнадцатиричное 31h) поставили цифру 1. (числа так и стоят в ряд от 30h до 39h что соответствует от '0' до '9').
дальше-больше... Когда речь зашла об кодировании различных других языков (не англоязычных) то по началу на региональном уровне каждый изгалялся как мог.
Русский например частично располагали выше 128 (80h), частично использовали совпадающее написанию знаков.
Потом усиленно ввелось понимание символа который отображается и собственно самой ячейки под это отведённое. В зависимости от маркетинга и кулика - лидируют в основном
болотца = юникод, мультибайт (ну может ышо парочка)....

Дык вот, возвращаясь к баранам...
То чем Вы оперируете со строкой, ничего не знает о мультибайте(или юникоде). Посему честно записывает, когда требуется более старший разряд, в более левую ячейку. При этом размерность ячеек обычно указывает сам программист.


удачи вам
(круглый)
ЗЫ
А вообще, лучше почитать что нить популярное об локализации, знакогенерации, юникод, мультибайт и иже...

Сообщение отредактировал kolobok0 - Sep 25 2017, 17:34
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Sep 25 2017, 20:40
Сообщение #20


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Ekka @ Sep 25 2017, 11:21) *
Так и не поняла, ПОЧЕМУ 32 ячейка САМОВОЛЬНО после того, как я ввожу в нее число, большее 9, то есть 10, например, вместо string переводит его в char, берет первую цифру и считает, что это символ номер 49.
При отладке вижу, что во все другие ячейки приходит string "10", а в эту char 49 '1'. Что за штука... почему??? Как это исправить?

вы бы проект запостили, а иначе можно бесконечно гадать
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01353 секунд с 7
ELECTRONIX ©2004-2016