Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.06.01;
Скачать: [xml.tar.bz2];

Вниз

Коллеги , подскажите как при выводе вместо запятой ,   Найти похожие ветки 

 
smartleds   (2008-05-12 16:07) [0]

разделяющую целую и дробную части у вещественного числа, вывести точку.
Я вывожу так
form1.Memo1.Lines.Append(" level="+floattostrf(level,ffFixed,3,2)+"  ");
выводится в таком формате
3,03м
level= 3,03
level= 2,97
и т.д.
Вот вместо запятой току можно как то вывести, хотябы не в Memo, а в файл?


 
Johnnnn   (2008-05-12 16:10) [1]

i:=3,03;
s:=inttostr(i);
s:=copy(s, 1,1)+"."+copy(s, 3, length(s));


 
Palladin ©   (2008-05-12 16:13) [2]


> Johnnnn   (12.05.08 16:10) [1]

1. в каком это инетересно компиляторе паскаля, запятая является десятичным разделителем?
2. а что если будет 23.03 ?


 
Johnnnn   (2008-05-12 16:17) [3]

1. в каком это инетересно компиляторе паскаля, запятая является десятичным разделителем? - ya vobsche nevkyrse yag otvechau ne dlya togo chtobi cheloveky pomoch a dlya togo ctobi samomy popraktikovatsya
2. а что если будет 23.03 ? - toda tak

i:=3,03;
s:=inttostr(i);
s:=copy(s, 1, pos(",", s)-1)+"."+copy(s, pos(",",s)+1, length(s));


 
smartleds   (2008-05-12 16:21) [4]


> 1. в каком это инетересно компиляторе паскаля, запятая является
> десятичным разделителем?
> 2. а что если будет 23.03 ?

Может я не правильно задал вопрос,
Задача такая есть вещественная  переменная типа real , ее значения нужно переодически записывать в файл но целое от дробного нужно отделять не запятой а точкой
если писать так
write(outfile, floattostrf(level,ffGeneral,3,2) ); то отделяется запятой, а нужно точкой.


 
smartleds   (2008-05-12 16:22) [5]


> s:=inttostr(i);

А какой тип у переменной "s"?


 
Anatoly Podgoretsky ©   (2008-05-12 16:23) [6]

> smartleds  (12.05.2008 16:07:00)  [0]

STR


 
Palladin ©   (2008-05-12 16:24) [7]


> Johnnnn   (12.05.08 16:17) [3]

а ты в курсе, что ты бредишь, хочешь попрактиковаться, лучше не отвечай, а перейди в RO - ответов

1. Компиляторы паскаля от Borland и Хейльсберга, как и сказано в спецификации, десятичным разделителем считают точку

2. inttostr, это перевод целочисленного значения, а ни как не значения с плавающей/фиксированной запятой

3. ну и наконец, что бы использовать в строковом представлении в качестве десятичного разделителя точку, а не DecimalSeparator есть куча решений по мимо, столь неоптимизированной, обработки строк, например поменять на время значение этого самого DecimalSeparator


 
Johnnnn   (2008-05-12 16:39) [8]

Ну нескажите малоли а может автор вопроса чтото из моего ответа и узнает интиресное!:)


 
Johnnnn   (2008-05-12 16:44) [9]

К примеру я невкурсе что автор зделал до етого чтобы у него вышло значение 100,99 в мемо
но так уж вышло что оно там есть:) и предположим в первой строке и еще предположим что оно там одно:)
тогда:

procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:=memo1.Lines[0];
s:=copy(s, 1, pos(",", s)-1)+"."+copy(s, pos(",",s)+1, length(s));
memo1.Lines[0]:=s;
end;


 
Kolan ©   (2008-05-12 16:46) [10]

> Вот вместо запятой току можно как то вывести, хотябы не
> в Memo, а в файл?

Пользуйся
function FloatToStr(Value: Extended; var FormatSettings: TFormatSettings): string; overload;


 
Anatoly Podgoretsky ©   (2008-05-12 16:46) [11]

Что только программист не придумает, лишь бы не работать.


 
Kolan ©   (2008-05-12 16:47) [12]

> s:=copy(s, 1, pos(",", s)-1)+"."+copy(s, pos(",",s)+1, length(s)
> );

Про StringReplace слыхал?


 
Johnnnn   (2008-05-12 16:55) [13]

Ну вот елки палки видите а вы меня уже кудато послали:) Теперь я новую функцию знаю StringReplace, честно незнал до еtoго:(


 
Anatoly Podgoretsky ©   (2008-05-12 16:56) [14]

> Johnnnn  (12.05.2008 16:55:13)  [13]

А сообщение насчет STR игнорируем, а это как раз прямая функция, а для вывод в файл и ее не надо.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.06.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.045 c
2-1209883222
leonidus
2008-05-04 10:40
2008.06.01
Показ и скрытие нескольких форм


2-1210616980
Alexey
2008-05-12 22:29
2008.06.01
Внешняя таблица


15-1208520113
Xerox Phaser 3210
2008-04-18 16:01
2008.06.01
Медленная печать фотографий на Xerox Phaser 3210


3-1198389149
Гостик
2007-12-23 08:52
2008.06.01
Запись двочных данных в BLOB в базе SQLite


15-1208744609
Slider007
2008-04-21 06:23
2008.06.01
С днем рождения ! 21 апреля 2008 понедельник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский