|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.08.2013, 13:34 | #1 |
Ученик в c++
Форумчанин
Регистрация: 28.02.2011
Сообщений: 162
|
C++ Как убрать лишние нули в вещественном типе?
Здравствуйте!
Собственно, вопрос из названия темы. Попробовал создать маленькую программку в C++ (Windows Forms). Мне необходимо выводить на textBox вещественное число аж с 27 символами после запятой. Но иногда дробная часть не такая длинная, и выводятся лишние нули, иногда вообще число получается без дробной части. Например, выводит 0,000453434500000000000000000, а нужно чтобы выводило 0,0004534345 Приведу лишь часть кода, убрав всякие вычисления, т.к. не в них суть темы: Код:
Последний раз редактировалось Ghost3; 16.08.2013 в 20:31. |
16.08.2013, 14:08 | #2 | |||
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Цитата:
Цитата:
и это ты видишь 0,000453434500000000000000000, а на самом деле там 0,000453434500000000000000000...004 231534 какое-нибудь. Цитата:
Последний раз редактировалось rrrFer; 16.08.2013 в 14:11. |
|||
16.08.2013, 14:20 | #3 | ||
Ученик в c++
Форумчанин
Регистрация: 28.02.2011
Сообщений: 162
|
Цитата:
Цитата:
С WindowsForms работаю впервые, потому и спрашиваю. Будь это простой код, я бы, к примеру, перевел бы вещественный тип в строку и с конца отсекал бы лишние нули. Правда т.к. я, повторюсь, впервые работаю с WindowsForms, не знаю как реализовать подобное. А возможно есть какие-то другие способы? |
||
16.08.2013, 16:13 | #4 |
Ученик в c++
Форумчанин
Регистрация: 28.02.2011
Сообщений: 162
|
Ладно, догадался в тех случаях, когда в дробной части ничего нету, ничего не выводить ее (как всегда ступил )
Код:
Пробовал что-то типо: 1.Переводим результат в строку. 2.Считаем с конца нули до тех пор, пока не наткнемся на иной символ (типо if(str[i]!='0') break 3. Выводим результат с обрезанной дробной частью, например Код:
|
16.08.2013, 16:52 | #5 | ||||
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Цитата:
Цитата:
Цитата:
Цитата:
виндоформз - фрамеворк, не более. Он не запрещает использовать стандартную библиотеку. Код:
|
||||
16.08.2013, 17:15 | #6 | ||
Ученик в c++
Форумчанин
Регистрация: 28.02.2011
Сообщений: 162
|
Если что-то не нравится - я не заставляю вас отвечать в этой теме.
Цитата:
Название темы = мой вопрос. Какие претензии? Смысл выкладывать абсолютно не рабочий код? Для меня как новичку - все языки не простые. Еще раз прочитайте - С "WindowsForms работаю впервые". Цитата:
после: Когда использую Код:
Код:
Последний раз редактировалось Ghost3; 16.08.2013 в 17:34. |
||
16.08.2013, 18:02 | #7 | ||||
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Цитата:
Цитата:
Цитата:
Почему ты предлагаешь форумчанам каждый раз угадывать где ты накосячил? - почему не приводишь код? Код:
Цитата:
Последний раз редактировалось rrrFer; 16.08.2013 в 18:06. |
||||
16.08.2013, 20:30 | #8 | ||
Ученик в c++
Форумчанин
Регистрация: 28.02.2011
Сообщений: 162
|
Цитата:
Вот код, хотя из него ничего нового не узнаешь. Код:
Цитата:
Последний раз редактировалось Ghost3; 16.08.2013 в 21:46. |
||
16.08.2013, 20:50 | #9 | ||
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Цитата:
Я посмотрел твой код и ниче не понял. Цитата:
Суть ошибки в том, что ты куда-то пихаешь std::string где ожидается String^. Наверняка вместо String^ можно пихнуть const char* (оно неявно преобразуется в String^). Для этого вместо использования str пиши str.c_str(); И код, когда ты его постишь, должен соответствовать ошибкам, которые ты описываешь. К ошибкам приводи номера строк. Иначе ты ответа не дождешься. Ответ нужен тебе или мне? - значит ты должен быть более заинтересован и оформлять все по-человечески. |
||
16.08.2013, 21:46 | #10 | ||||
Ученик в c++
Форумчанин
Регистрация: 28.02.2011
Сообщений: 162
|
Цитата:
Несоответствие заголовка и содержание? Все соответствует, мне нужно было удалить из строки в ответе программы лишние нули после запятой. Что еще неясно и непонятно? Цитата:
Код:
Цитата:
Все же если вдруг ты до сих пор не понял вопроса, то вот тебе самый разжеванный вариант: Вот в этом коде: Код:
Код:
Но проблема в том, что str - это обычный string, потому выводит ошибку. Цитата:
Наверное так надо было тему оформить? Если нет - то еще более явно я не могу. Просто раз взялся отвечать - надо не придираться к "ссылочкам". Если бы я задал вопрос: "как в c++ возводить в степень числа?" то я надеялся бы получить первым ответом пример: Код:
Последний раз редактировалось Ghost3; 16.08.2013 в 21:58. |
||||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Убрать нули после запятой | MishkaSh | Помощь студентам | 1 | 05.04.2013 07:16 |
как убрать лишние пробелы в меню | Vervolf | JavaScript, Ajax | 6 | 07.05.2012 00:34 |
Как убрать нули??? | Егор&Co | Microsoft Office Excel | 9 | 24.02.2011 12:39 |
как записывать в файл тип риал чтоб после точки эти нули убрать?? | ТРОЯН=) | Помощь студентам | 3 | 24.04.2009 14:09 |
Убрать нули!!!) | artemavd | Общие вопросы Delphi | 13 | 29.07.2008 09:10 |