Вопрос № 54027: Здравствуйте, уважаемые эксперты.
Есть ли в Delphi константа со значением числа e (основания натурального логарифма)? Если есть, то как она называется и в каком модуле описывается?
Спасибо....Вопрос № 54079: Здавствуйте! Как можно прочитать html код в webbrowser?...Вопрос № 54086: Здравствуйте, уважаемые эксперты.
В моей программе переменной типа string присваивается занчение
floattostr(cos(pi*3/2)), но вместо ожидаемого 0 выводится 1.8973...63E-19. Как сделать так, чтобы выводился 0? Можно ли округлить это число до ка...
Вопрос № 54.027
Здравствуйте, уважаемые эксперты.
Есть ли в Delphi константа со значением числа e (основания натурального логарифма)? Если есть, то как она называется и в каком модуле описывается?
Спасибо.
Отвечает: Munster
Здравствуйте, Томша Павел!
Если в IE, то Вид->Просмотр HTML-кода
Ответ отправил: Munster (статус: 3-ий класс)
Ответ отправлен: 02.09.2006, 14:47 Оценка за ответ: 3 Комментарий оценки: Рассылка по Delphi, поэтому и вопрос по Delphi! Я имел ввиду програмно прочитать его и обработать.
Отвечает: Werewolf
Здравствуйте, Томша Павел!
Вначале WebBrowser.Document представить как интерфейс IPersistStreamInit
потом сохранить методом Save данного интерфейса в объект реализующий интерфейс IStream - в delphi есть TStreamAdapter
при чем его можно создать с ссылко на TStringStream
В архиве delpiworld есть статья на эту тему
http://delphiworld.narod.ru/base/wb_get_html_code.html
Удачи. =)
Ответ отправил: Werewolf (статус: Студент)
Ответ отправлен: 04.09.2006, 15:14
Вопрос № 54.086
Здравствуйте, уважаемые эксперты.
В моей программе переменной типа string присваивается занчение
floattostr(cos(pi*3/2)), но вместо ожидаемого 0 выводится 1.8973...63E-19. Как сделать так, чтобы выводился 0? Можно ли округлить это число до какого-то знака после запятой(например до 10)?
Спасибо.
Отвечает: Mexes
Здравствуйте, Граур Василий Олегович!
Есть несколько вариантов. Если x=cos(pi*3/2) (или любая другая вещественная величина), то:
1) округлить с помощью RoundTo: RoundTo(x,-10) - округление до 10 знака после десятичной точки;
2) не трогая величины, отформатировать вывод строго до 10 знаков после точки (но тогда выведутся и незначащие нули, вместо "0" будет "0.0000000000"):
а) Str(x,s:1:10); // s:string
b) Format('%.10f',[x]);
Ответ отправил: Mexes (статус: 2-ой класс)
Ответ отправлен: 02.09.2006, 15:50 Оценка за ответ: 5
Отвечает: sir henry
Здравствуйте, Граур Василий Олегович!
Все правильно, так и должно быть. Чтобы отсечь незначащие разряды воспользуйтесь функцией FloatToStrF(), там в качестве параметров задается общее кол-во знаков и кол-во знаков после запятой.
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 02.09.2006, 16:16 Оценка за ответ: 5
Отвечает: CoolBick
Здравствуйте, Граур Василий Олегович!
function RoundEx(chislo: double; Precision: Integer): string;
var
ChisloInStr: string;
ChisloInCurr: currency;
begin
ChisloInCurr := chislo;
Str(ChisloInCurr: 20: Precision, ChisloInStr);
ChisloInStr[Pos('.', ChisloInStr)] := ',';
RoundEx := Trim(ChisloInStr);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := RoundEx(StrToFloat(Edit1.Text), 10);
end;
Ответ отправил: CoolBick (статус: 1-ый класс)
Ответ отправлен: 02.09.2006, 17:16
Отвечает: Сидоров Андрей
Здравствуйте, Граур Василий Олегович!