关于小数点问题 假如我有一个小数点的数字如:asd.we1:请问用什么方法可以得到小数点前三位的字符串和后两位的字符串2:如何判断小数点前和后分别是几位字符 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 trunc() //取整数部分frac() //取小数部分 //如果是字符串procedure TForm1.Button1Click(Sender: TObject);var str: string;begin //前提:一个小数点 str := 'asdf.ghjk'; ShowMessage('小数点前三位是:' + Copy(str, pos('.', str) - 3, 3)); ShowMessage('小数点后两位:' + Copy(str, pos('.', str) + 1, 2)); ShowMessage('小数点前' + IntToStr(Length(LeftStr(str, pos('.', str) - 1))) + '位'); ShowMessage('小数点后' + IntToStr(Length(RightStr(str, Length(str) - pos('.', str)))) + '位');end; procedure TForm1.Button1Click(Sender: TObject);typeTdataStr=Recordfore1:string[3];real1:string[3];end;varsStr:TdataStr;function getstr(fData:string):TdataStr;var i,n:Integer; str:string;begin str := FloatTostr(fdata); n:= pos('.',str);//得到小数点前3位 Result.fore1:= copy(str,n-3,3);//得到小数点后3位 Result.real1:= copy(str,n+1,3);end;begin sStr:=getstr(strtoFloat(edit1.Text)); edit2.Text:= sStr.fore1; edit3.Text:= sStr.real1;end; 窗口置于最上层,除这两种方法排除还有吗? DLL转参,返回成功,之后报错 如何获取桌面分辨率(不是显示器当前分辨率)? fastreport 页面传递值的问题。。初学者问 小问题急!!! 一个关于IntraWeb简单问题,请求帮助,谢谢! 系统提示:[Fatal Error]Procect1.dpr(1):File Not find :'System.pas',应该怎么处理?? 那里有QQ的那个控件啊?? 怎么知道当前纪录时dateset中的第一个或最后一个记录?? DELPHI关于varbinary数据类型的问题请教? ODBC 連接遠程數據服務器的網絡斷開問題 求解sql语句
frac() //取小数部分
procedure TForm1.Button1Click(Sender: TObject);
var
str: string;
begin
//前提:一个小数点
str := 'asdf.ghjk';
ShowMessage('小数点前三位是:' + Copy(str, pos('.', str) - 3, 3));
ShowMessage('小数点后两位:' + Copy(str, pos('.', str) + 1, 2));
ShowMessage('小数点前' + IntToStr(Length(LeftStr(str, pos('.', str) - 1))) + '位');
ShowMessage('小数点后' + IntToStr(Length(RightStr(str, Length(str) - pos('.', str)))) + '位');
end;
type
TdataStr=Record
fore1:string[3];
real1:string[3];
end;
var
sStr:TdataStr;
function getstr(fData:string):TdataStr;
var
i,n:Integer;
str:string;
begin
str := FloatTostr(fdata);
n:= pos('.',str);
//得到小数点前3位
Result.fore1:= copy(str,n-3,3);
//得到小数点后3位
Result.real1:= copy(str,n+1,3);
end;
begin
sStr:=getstr(strtoFloat(edit1.Text));
edit2.Text:= sStr.fore1;
edit3.Text:= sStr.real1;
end;