Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 1
Регистрация: 06.01.2012
Сообщений: 71

Преобразовать текстовые данные в числа

09.04.2015, 00:10. Показов 2363. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть два числа типа Currency, выглядят они вот так 200 000 руб. и 1 000 000 руб. необходимо удалить "пробелы" и "руб.", а затем сложить эти два числа, пробовал использовать sEdit4->Text = StringReplace(sEdit4->Text," ","",TReplaceFlags()<<rfReplaceAll) на Builder c++ криво работает убирает только пробел перед рублями. Есть какой инной способ этой задачи. Помогите пожалуйста.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.04.2015, 00:10
Ответы с готовыми решениями:

Преобразовать текстовые данные в код
Имеется 6 форм (MAIN, Forma1, Forma2, Forma3, Forma4, Forma5). На 5 формах имеется по 5 текстбоксов (Text1.Text, Text2.Text, Text3.Text,...

Можно ли в фотошопе текстовые слои растрированные в картинки преобразовать обратно в текстовые слои?
Собственно вот.

Как преобразовать текстовые смайлики в графические?
Это, конечно, можно сделать с помощью функции str_replace(), но преобразовывать таким методом каждый смайл в сообщении очень громоздко, тем...

28
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33378 / 21502 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
09.04.2015, 00:19
Не знаю, откуда у тебя взялись эти значения, но к Currency они не имеют никакого отношения. Currency - это обычный вещественный тип, ничего подобного пробелам или рублям в нем никогда нет и не было. Меня, скажем, рубли вообще мало интересуют, с какого перепуга Currency должна вообще хранить эти символы?

Ты пытаешься работать со строкой, а нужно работать именно с типом Currency
1
0 / 0 / 1
Регистрация: 06.01.2012
Сообщений: 71
09.04.2015, 00:34  [ТС]
Хорошо забыли о currency (использовал чтобы добавить в базу данных), в базе данных у меня содержатся строки такого плана 200 000 руб. 300 000 руб., я их вывожу в обычные эдиты мне не обходимо удалить все пробелы и убрать рубли чтобы сложить, для этого использовал StringReplace пытался их заменить, но на билдере 6 у меня ничего не вышло. Необходим другой вариант.

Добавлено через 1 минуту
Тип поля у меня обычная альфа (использую paradox)
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
09.04.2015, 03:09
Цитата Сообщение от Patr1ck Посмотреть сообщение
Хорошо забыли о currency (использовал чтобы добавить в базу данных), в базе данных у меня содержатся строки такого плана 200 000 руб. 300 000 руб.
1) Вы вначале скажите какой у вас СУБД и какой тип данных ? что значить ( такого плана 200 000 руб. 300 000 руб) если у вас даны так хранится в таблице . тип поля varchar ЭТО ОШИБКА ПРОЕКТИРОВАНИЕ БД на все СУБД есть "денежный тип"
2)
Цитата Сообщение от Patr1ck Посмотреть сообщение
Builder c++ криво работает убирает только пробел перед рублями. Есть какой инной способ этой задачи. Помогите пожалуйста.
Builder не работает криво , это у вас кривой структура БД для хранение денег тип поля должен "денежный тип" А для отображение (РУБ или ДОЛЛАР) любой валюта можно из DisplayFormat
Миниатюры
Преобразовать текстовые данные в числа   Преобразовать текстовые данные в числа   Преобразовать текстовые данные в числа  

Преобразовать текстовые данные в числа   Преобразовать текстовые данные в числа   Преобразовать текстовые данные в числа  

1
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
09.04.2015, 03:12
Цитата Сообщение от Patr1ck Посмотреть сообщение
необходимо удалить "пробелы" и "руб.", а затем сложить эти два числа
Можно через Builder но лучше такой логика отложить на сервере , создать VIEW и SELECT делайте это сложения
1
0 / 0 / 1
Регистрация: 06.01.2012
Сообщений: 71
09.04.2015, 09:20  [ТС]
Добавлено через 11 минут
1) bde paradox, alpha был упомянут выше
2) я использовал DisplayFormat у меня за место доллара отображался знак вопроса "?" вместо $.

Builder не работает криво , это у вас кривой структура БД для хранение денег тип поля должен "денежный тип" А для отображение (РУБ или ДОЛЛАР) любой валюта можно из DisplayFormat
Я это понимаю, ну мне бы не хотелось менять тип поля поэтому и хочу найти какой нибудь рабочий вариант. Если уже ничего не найду то попробую все таки ваш вариант с изменением поля спасибо.
0
0 / 0 / 1
Регистрация: 06.01.2012
Сообщений: 71
09.04.2015, 09:55  [ТС]
Подскажите пожалуйста как программно задать DisplayFormat для query.


0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
09.04.2015, 10:02
Цитата Сообщение от Patr1ck Посмотреть сообщение
я использовал DisplayFormat у меня за место доллара отображался знак вопроса "?" вместо $.
Это потому что у вас c++ builder 6 .... Надо установите более новое версия
1
0 / 0 / 1
Регистрация: 06.01.2012
Сообщений: 71
09.04.2015, 10:05  [ТС]
Об этом я и говорю с самого начала))) Программа сделана на database desktop paradox на rad studio нельзя же будет работать с ней я так понимаю или я ошибаюсь?
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
09.04.2015, 10:21
Цитата Сообщение от Patr1ck Посмотреть сообщение
Подскажите пожалуйста как программно задать DisplayFormat для query
C++
1
2
3
4
5
6
//---------------------------------------------------------------------------
void __fastcall TForm1::FormShow(TObject *Sender)
{
  ADOQuery1UnitPrice->DisplayFormat ="0.00  Руб";
}
//---------------------------------------------------------------------------
так работает у меня

Добавлено через 3 минуты
Цитата Сообщение от Patr1ck Посмотреть сообщение
на rad studio нельзя же будет работать с ней я так понимаю или я ошибаюсь?
Не почему, Я думаю что будет, из rad studio будите подключатся ваши Paradox
1
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
09.04.2015, 10:31
И у вас тип поля должен тоже Money
Миниатюры
Преобразовать текстовые данные в числа  
1
0 / 0 / 1
Регистрация: 06.01.2012
Сообщений: 71
09.04.2015, 10:33  [ТС]
Да, я и поставил как вы сказали, как видите знак вопроса отображается



Все таки пытаюсь сделать старый вариант осталось не много


C++
1
2
3
4
5
6
7
8
9
10
     sEdit4->Text = DataModule1->QuerySOrders->FieldByName("ServicePrice")->AsString.Trim();;
     sEdit4->Text = StringReplace(sEdit4->Text,"руб.","",TReplaceFlags()<<rfReplaceAll);
     AnsiString str1 = sEdit4->Text.Trim();
     for (int i = 1; i <= str1.Length(); i++)
     {
       if (!((str1[i] >= '0') && (str1[i] <= '9')))
       {
        sEdit4->Text = sEdit4->Text.Delete(i, 1);
       }
     }
Не совсем корректно работает, удаляет все что нужно в таких числах 300 000 руб., 500 000 руб., до 1 миллиона помогите переписать условие...
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
09.04.2015, 10:39
Trim() отбрасывает пробел да, Но вам это не нужно ... Вам надо тип поля изменит на $ скриншот смотрели на #11 ?
1
0 / 0 / 1
Регистрация: 06.01.2012
Сообщений: 71
09.04.2015, 10:42  [ТС]
Я понял, скинул вам скриншот как отображается таблица с типом $ (money) не отображает.... Поэтому я сделал через обычную строку все почти работает, кроме 1 000 000 руб.и т.д. Понимаете меня?
0
0 / 0 / 1
Регистрация: 06.01.2012
Сообщений: 71
09.04.2015, 10:45  [ТС]
Название: 1.jpg
Просмотров: 37

Размер: 11.1 Кб
Название: 2.jpg
Просмотров: 37

Размер: 11.7 Кб
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
09.04.2015, 10:50
Цитата Сообщение от Patr1ck Посмотреть сообщение
Понимаете меня?
Понимаю , Тогда установите Rad studiu и подключайте через него Paradoxe . Я еще подозреваю что у вас windows региональные настройки не стоит на русском
Миниатюры
Преобразовать текстовые данные в числа   Преобразовать текстовые данные в числа  
1
0 / 0 / 1
Регистрация: 06.01.2012
Сообщений: 71
09.04.2015, 10:51  [ТС]
Извините что в разных сообщениях, ну так будет понятней чего я добиваюсь.

Название: Безымянный.png
Просмотров: 35

Размер: 2.1 Кб
0
0 / 0 / 1
Регистрация: 06.01.2012
Сообщений: 71
09.04.2015, 10:54  [ТС]
Стоят

Хотелось бы это все сделать в билдере 6
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
09.04.2015, 11:05
Цитата Сообщение от Patr1ck Посмотреть сообщение
ну так будет понятней чего я добиваюсь.
Смотрите обновляю данных на учебная база данных
T-SQL
1
update [Order Details] set UnitPrice = 500 where ProductID = 11
и SELECT отображаю данных как вы хотите
SQL
1
2
3
SELECT *
FROM [ORDER Details]
WHERE ProductID = 11
и через Builder пишу
C++
1
2
3
4
5
6
//---------------------------------------------------------------------------
void __fastcall TForm1::FormShow(TObject *Sender)
{
  ADOQuery1UnitPrice->DisplayFormat ="00.000  Руб.";
}
//---------------------------------------------------------------------------
Как вам помощь по другому ? все уже сказал
Миниатюры
Преобразовать текстовые данные в числа  
1
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
09.04.2015, 11:09
Так тоже нормально отображает
C++
1
2
3
4
5
6
//---------------------------------------------------------------------------
void __fastcall TForm1::FormShow(TObject *Sender)
{
  ADOQuery1UnitPrice->DisplayFormat ="0.000  Руб.";
}
//---------------------------------------------------------------------------
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.04.2015, 11:09
Помогаю со студенческими работами здесь

Преобразовать текстовые строки в ссылки из файла
Всем привет. Есть текстовый файл: AAA-1 BBB-2 CCC-3 Как преобразовать средствами JS или JQUERY текстовые строки в ссылки и...

В поле с датами преобразовать текстовые значения в дату
Подскажите какой код прописать в такой ситуации: Мне необходимо импортировать данные из excel из колонки с датами. Но не вся информация в...

Текстовые данные
Даны текстовый файл. Упорядочить элементы по возрастанию их кодов.

текстовые данные
вывести фамилию, имя и по отчеству как одно текстовое данное . Определить длину данного и количество букв &quot;а&quot; в нем. ...

Текстовые данные
В массиве из 20 случайных чисел заменить парные числа на их квадраты, а нечетные уменьшить вдвое. Вывести результат на экран


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru