Текущий архив: 2007.01.14;
Скачать: CL | DM;
Вниз
форматирование строки. strtoint Найти похожие ветки
← →
Officeman (2006-12-22 10:12) [0]Добое время суток! необходимо написать функцию обрабоки строк подгруженного прайс листа. значения столбца "цена" могу иметь следующией формат(вид):
1300.00
1300,00
1"300.00
1300
1300.00
1300 руб
1300 руб.
1300 р
1300р.
и тд
Вопрос: как перевести в формат понятный дельфи для дальнейних арифметич.операций. Надо переформатировать строку с ценой, в 1300.00
Какие функции или компоненты Дельфи мне помогут ?
с уважением, Officeman
← →
Ega23 © (2006-12-22 10:18) [1]
> Какие функции или компоненты Дельфи мне помогут ?
свои собственные.
← →
Сергей М. © (2006-12-22 10:20) [2]Функции для обработки регулярных выражений тебе помогут.
http://www.google.ru/search?q=Delphi+%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D0%B5+%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:ru:official
← →
Officeman (2006-12-22 12:00) [3]спасибо конечно. это я всё и сам знаю.
хотя повторение мать учение. хехе.
Вам респект за краткость) ответов.
← →
Anatoly Podgoretsky © (2006-12-22 12:02) [4]> Officeman (22.12.2006 10:12:00) [0]
Вот это "и тд" может оказаться самым интересным
← →
novill © (2006-12-22 12:10) [5]> [3] Officeman (22.12.06 12:00)
делается в две строчки.
1. убираешь из строки всё, кроме цифр и одного decimalseparator
2. пробуешь получить из этого float.
← →
Ega23 © (2006-12-22 12:21) [6]
> делается в две строчки.
> 1. убираешь из строки всё, кроме цифр и одного decimalseparator
> 2. пробуешь получить из этого float.
Сделай для 1.324.345,98
← →
Ega23 © (2006-12-22 12:21) [7]Или для 98р 45к
← →
Officeman (2006-12-22 12:33) [8]to novill [5]
>делается в две строчки.
>1. убираешь из строки всё, кроме цифр и одного decimalseparator
>2. пробуешь получить из этого float.
;))
лучше было б так:
>1. оставляешь только цифры. пример тут: ...
а по вопросу. вероятно есть дургео решение. есть некоторая программа для обработки прайслиста. пользователь импортирует из Excel файла данные с ДВУХ полей. импорт делаю так: (часть кода)
if FileExists(FilenameEdit1.FileName)=true then begin
import.Enabled:=false; // блокировка кнопок до завершения работы обработки
button8.Enabled:=false; // блокировка кнопок до завершения работы обработки
WorkSheet := Unassigned;
WorkSheet := Excel.Workbooks[1].WorkSheets[strtoint(Listov.Text)];
WaitCaption.caption:="Загружено 0 из "+inttostr(WorkSheet.Cells.CurrentRegion.Rows.Count)+" позиций.";
WaitCaption.Visible:=true;
//перед обновление считаем скока строк было в LV
LVcount:=LVprice.Items.Count-1;
//обновляем прайс. сверяем наименование. если =, то обновляем цены
//читаем построчно EXCEL файл
if WorkSheet.Cells.CurrentRegion.Rows.Count=0 then exit;
for x := 1 to WorkSheet.Cells.CurrentRegion.Rows.Count do begin
..................
вопрос. есть ли возможность использовать какуюнить функцию Excel
чтобы на этапе чтения строки с ценой. перед импортом менять её формат.
и потом грузить в таблицу программы.
???
← →
Anatoly Podgoretsky © (2006-12-22 12:52) [9]> Ega23 (22.12.2006 12:21:06) [6]
> 1.324.345,98
А после этого для
1,324,345.98
1 324 345,98
← →
novill © (2006-12-22 12:54) [10]>[6] и [7]
Для перечисленных в [0] хватает, а всякие извращенные и т.д. раскрывайте сами :)
Кому скучно напишите функцию для перевода из суммы прописью в число :)
← →
Сергей М. © (2006-12-22 12:54) [11]
> есть ли возможность использовать какуюнить функцию Excel
Нет там таких функций. И быть не может.
Мало как юзер может извратиться при вводе цены ! На каждый юзерский чих что ли функцию про запас иметь ?)
У тебя под рукой всегда есть олей-объект MS RegExp, им и воспользуйся для решения задачи, хоть в Васике, хоть в Делфи
← →
Officeman (2006-12-22 12:57) [12]спасибо за советы. попробую...
Страницы: 1 вся ветка
Текущий архив: 2007.01.14;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.011 c