如何在edit中限定输入格式(0.00),即只能在其中输入带两位小数的数。谢谢
其他的搞定,只是这格式(0.00)不知怎么搞。
其他的搞定,只是这格式(0.00)不知怎么搞。
解决方案 »
- 如何解决 ImageEnMIO 扫描速度慢啊?
- [1分调查]程序员抽烟的多吗?
- ActionManager与RxRichEdit的问题
- 用Raw Socket 发送UDP消息的例子(发送地址随机)
- 报错:'Error creating cursor handle'代码奉上,在线等待~~问题解决即给分.
- 今天问了,学了不少,再问一个,如何备份和恢复paradox数据库里的数据:)
- 请推荐几个讨论VCL组件开发的优秀论坛和网站!
- 移动焦点问题
- DELPHID在不同平台上显示为什么会不同, 有没有一个好的办法来显示的比较好一些,高分送给!!
- delphi串口用CportLib,ComComboBox不自动应用,修改后如何应用?
- 请高手指点一下,怎样从DLL中返回string型的二维数组
- 如何通过键盘把内容输入到listview中去?
var
var
s:float;
begin
s:=formatfloat('0.00',edit.text);
edit.text:=FloatToStr(s);
end;
var
s:real;begin
s:=strtofloat(edit1.Text);
edit1.text:=formatfloat('0.00',s);
end;
首先在FormCreate中初始化Edit1的属性为Text:='0.00',设置SelLength
这是Pas文件,窗体文件没有发——也不能发
上面只有一个TEdit,名字是Edit1,和一个TMemo,名字是Memo1,做的和MaskEdit差不多
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask;type
TForm1 = class(TForm)
Edit1: TEdit;
Memo1: TMemo;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
//对Edit1进行初始化设置
Edit1.Text:='0.00';
Edit1.SelStart:=0;
Edit1.SelLength:=1;
end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
//如果小数点前面有光标,那么移到小数点后面
if (Sender as TEdit).SelStart=1 then
(Sender as TEdit).SelStart:=2;
//如果到了要求的格式后面,那么回来
if (Sender as TEdit).SelStart=4 then
(Sender as TEdit).SelStart:=3;
//保证随时都是输入一个
(Sender as TEdit).SelLength:=1;
//如果输入的是数字,那么一切照常,否则认为没有输入
if (Ord(Key)<Ord('0')) or (Ord(Key)>Ord('9')) then
Key:=#0;
end;end.
var
S: string;
begin
S := EdtEnterJe.Text + Key;
IntPos := LastDelimiter('\.',S);
if (Length(Copy(S,IntPos + 1,Length(S))) > 2) AND (IntPos <> 0) then
begin
//不输入该字符
key := #0;
Exit;
end;
end;
var
IntPos: Integer;