Рейтинг:
43
Sergey Alexandrovich Kryukov
Это то же самое. 06671 = 6671. Разве это не очевидно?
Если вы хотите получить "06671", то речь идет не о вашем номере, а о том, как вы представляете номер в виде строки:
Типа int32.Метод ToString (Система)[^],
Типа int32.Метод ToString (String) (System)[^],
Строки Стандартных Числовых Форматов [^],
Строки Пользовательского Числового Формата[^].
Строго говоря, задача "перевернуть число" не была правильно определена. Например, вы получите другой результат, если "перевернете" восьмеричные, шестнадцатеричные цифры числа и т. д. Таким образом, вы могли бы, в качестве альтернативы, просто получить строку сначала, через ToString
или каким-то другим способом, а затем перевернуть эту строку.
—СА
Sergey Alexandrovich Kryukov
Спасибо, Карло.
—СА
George Jonsson
Определенно 5.
Не знаю, сколько "проблем с форматированием" для чисел или дат я видел в последнее время, потому что люди думают, что данные хранятся в памяти так же, как они отображаются на экране.
Sergey Alexandrovich Kryukov
- Спасибо, Джордж. Хуже того, многие ведут себя так, как будто единственным видом данных являются строки... Потраченный впустую...
—СА
George Jonsson
Это верно, особенно когда даты хранятся в столбце базы данных в виде строки в каком-то нечетном формате, а затем возникают проблемы, когда датой нужно каким-то образом манипулировать.
Sergey Alexandrovich Kryukov
Спасибо.
—СА
Рейтинг:
31
CPallini
'06671'
и '6671'
это две разные вещи строковое представление из одно и то же целое число То есть, если вам действительно нужен ведущий 0
в результате вам рано или поздно придется изменить свою целочисленную переменную на строковую.
Sergey Alexandrovich Kryukov
Я думаю, мы ответили одновременно... 5ed.
—СА
CPallini
Вы знаете, великие умы... :-)
Sergey Alexandrovich Kryukov
В нашей культуре пословица другая, это что-то вроде
- Мысли дураков совпадают..."
—СА
CPallini
Я думаю, что ваша культура права.
Sergey Alexandrovich Kryukov
:-)
Рейтинг:
28
Jochen Arndt
Числа 06671 и 6671 численно идентичны. Если вы хотите получить результат типа "06671" (строковое представление), вы должны использовать строку и обратить ее вспять:
string numString = fiveDigNo.ToString();
char[] charArray = numString.ToCharArray();
Array.Reverse(charArray);
string revString = new string(charArray);
// If you need the numeric value too:
int revNumber = Convert.ToInt32(revString);
nikhil2015
string revString = new string(Array); отображение ошибки как "Array - это тип,который недопустим в данном контексте"
int revNumber = revString.ToInt32(); поскольку "string не содержит определения для ToInt32" и не может быть найден метод расширения "ToInt32", принимающий первый аргумент типа string
Jochen Arndt
Я только что напечатал ответ и сделал две ошибки:
Массив должен быть charArray
и он должен быть обращен.ToInt32(revString)
Я обновлю свой ответ.
nikhil2015
строка myString = fiveAddNumber.Метод toString();
char[] arrayR = myString.ToCharArray();
Массив.Реверс(arrayR);
revString = новая строка(arrayR);
Я получил решение из вышеприведенного кода
Спасибо Йохен Арндт
Рейтинг:
1
Patrice T
Цитата:
Я хочу получить обратный ход, как 06671. Но я получаю 6671.
Результат совершенно нормальный. Потому что 06671 и 6671-это одно и то же значение.
Чтобы обработать начальный ноль, единственный способ-использовать строку вместо числового значения. перевернув строку "17660", вы получите "06671".
В противном случае вам необходимо предоставить нам дополнительную информацию об использовании этого реверса.
Рейтинг:
1
Abhinav S
"I want to get reverse like 06671. But i am getting 6671."
Это ведь одно и то же, верно?
С помощью обратной функции вы могли бы получить строку. Преобразуйте 06671 в числовое значение, и вы получите результаты.