Форум русскоязычного сообщества Ubuntu


Автор Тема: преобразование числа в строку  (Прочитано 4928 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Scot_Tenorman

  • Автор темы
  • Любитель
  • *
  • Сообщений: 74
    • Просмотр профиля
преобразование числа в строку
« : 30 Января 2012, 22:26:57 »
Как преобразовать число в строку в С++?
Через static_cast<char>(int) не получается. Другие функции вроде только для компиляторов под Windows.

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5583
  • Все по палатам!
    • Просмотр профиля
Re: преобразование числа в строку
« Ответ #1 : 30 Января 2012, 22:29:42 »
itoa
Извините, я все еще учусь

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: преобразование числа в строку
« Ответ #2 : 31 Января 2012, 05:03:07 »
SergeyIT, чё реально?  ;D

Код: (CPP) [Выделить]
const std::string &str = boost::lexical_cast<std::string>(63456);
« Последнее редактирование: 31 Января 2012, 05:04:54 от Yurror »

Оффлайн Sna1L

  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: преобразование числа в строку
« Ответ #3 : 31 Января 2012, 07:08:19 »
функцию,кстати, можно было и самому написать. Кэп :)

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: преобразование числа в строку
« Ответ #4 : 31 Января 2012, 08:36:00 »
Sna1L, велосипедист?

Оффлайн Scot_Tenorman

  • Автор темы
  • Любитель
  • *
  • Сообщений: 74
    • Просмотр профиля
Re: преобразование числа в строку
« Ответ #5 : 31 Января 2012, 13:12:07 »
static_cast<char>(int) - не оплучалось, но нашел выход через static_cast<char>(int+48).
Всем спасибо за помощь.

Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Re: преобразование числа в строку
« Ответ #6 : 31 Января 2012, 14:03:40 »
функцию,кстати, можно было и самому написать. Кэп :)

Абсолютно с вами согласен. Лучше самому написать.
Протестировать - и знать, что надёжный код.

Оффлайн maximand

  • Активист
  • *
  • Сообщений: 307
    • Просмотр профиля
Re: преобразование числа в строку
« Ответ #7 : 31 Января 2012, 15:31:08 »
а я заталкиваю просто в переменную
test_char << int_char;

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: преобразование числа в строку
« Ответ #8 : 01 Февраля 2012, 06:01:57 »
Да побойтесь бога, вы вообще в курсе что говорите? строчку от символа отличаете?
Инструктор был прав! http://www.youtube.com/watch?v=jkoARxMj4p4

Señor_Gaga, тогда перепиши себе ОС с нуля чтобы быть уверенным.
« Последнее редактирование: 01 Февраля 2012, 06:04:16 от Yurror »

Оффлайн maximand

  • Активист
  • *
  • Сообщений: 307
    • Просмотр профиля
Re: преобразование числа в строку
« Ответ #9 : 01 Февраля 2012, 11:48:22 »
Да, со стрингами попутал :)
Я немного знаю только wxWidgets
http://wiki.wxwidgets.org/Converting_everything_to_and_from_wxString#int_to_wxString
Не подумал, что операнд << может и вовсе не работать в стандортном C++
« Последнее редактирование: 01 Февраля 2012, 12:00:57 от maximand »

Оффлайн Дядюшка Ау

  • Участник
  • *
  • Сообщений: 123
  • Дайте две!
    • Просмотр профиля
Re: преобразование числа в строку
« Ответ #10 : 02 Февраля 2012, 15:22:48 »
а itoa под линукс нету, да? Тогда, как на лабах по ассемблеру - делить на 10 и смотреть остаток.
Ubuntu 12.04 для поколупацца, Win7 для поработать

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: преобразование числа в строку
« Ответ #11 : 03 Февраля 2012, 05:55:55 »
Дядюшка Ау,
https://forum.ubuntu.ru/index.php?topic=181891.0
ты сам то понял что написал?
иди читай стандарт на библиотеку Си

Оффлайн Дядюшка Ау

  • Участник
  • *
  • Сообщений: 123
  • Дайте две!
    • Просмотр профиля
Re: преобразование числа в строку
« Ответ #12 : 03 Февраля 2012, 09:17:12 »
Дядюшка Ау,
https://forum.ubuntu.ru/index.php?topic=181891.0
ты сам то понял что написал?
иди читай стандарт на библиотеку Си

Да оно мне как бы не надо. Я Си с института не встречал по роду деятельности. А вопрос задал сугубо из любопытства, мол, "че нету чтоли? ух ты!" И да, я понял, что написал. Число можно делить на 10, к остатку добавлять некое число, чтобы получился ASCII код. Это, конечно, в современных условиях атавизм, но путь такой возможен.
« Последнее редактирование: 03 Февраля 2012, 09:20:10 от Дядюшка Ау »
Ubuntu 12.04 для поколупацца, Win7 для поработать

Оффлайн Scot_Tenorman

  • Автор темы
  • Любитель
  • *
  • Сообщений: 74
    • Просмотр профиля
Re: преобразование числа в строку
« Ответ #13 : 03 Февраля 2012, 13:25:06 »
Развели тут дискусию.
У менятпо сути был тока один вопрос:
Почему я не могу использовать static_cast<char>(int).
Ответ я нашел.

Оффлайн Дядюшка Ау

  • Участник
  • *
  • Сообщений: 123
  • Дайте две!
    • Просмотр профиля
Re: преобразование числа в строку
« Ответ #14 : 03 Февраля 2012, 13:30:30 »
Ответ я нашел.

Это вот так что-ли: static_cast<char>(int+48)??
во-первых статик_каст, это не преобразование типов, а приведение. Т.е. принудительное засовывание одного типа в объем памяти другого. Всему, что не поместилось, обрубаем ноги. Возможно, я не прав, но если int a = 42 с его помощью можно превратить в char *c = "42", то я обещаю пойти и почитать стандарт :)

Во-вторых, что будет, если число отрицательное?
« Последнее редактирование: 03 Февраля 2012, 13:36:36 от Дядюшка Ау »
Ubuntu 12.04 для поколупацца, Win7 для поработать

 

Страница сгенерирована за 0.03 секунд. Запросов: 22.