首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎么取double的最后2个字节

2013-06-26 
如何取double的最后2个字节想要获取1个double数的最后2个字节,如何做?double[解决办法]http://blog.csdn.n

如何取double的最后2个字节
想要获取1个double数的最后2个字节,如何做? double
[解决办法]
http://blog.csdn.net/mahushen/article/details/8238186
[解决办法]
doule是8个字节


procedure TForm1.Button1Click(Sender: TObject);
var
  dou:Double;
  buf:array[0..7] of Byte;
begin
  dou:=0.12457;
  Move(dou,buf,8);
  ShowMessage('第7位:'+IntToStr(buf[6])+'第8位:'+IntToStr(buf[7]));
end;


[解决办法]
可以定义一个结构:
Type
  PFloatRec=^TFloatRec;
  TFloatRec=Record
    a:Word;
    b:Word;
    c:Word;
    d:Word;
  End;
然后PFloatRec(@double)^.d就是最后两个字节
[解决办法]
还有一种办法是通过PInt64指针(Int64长度和Dobule一样):
Word(PInt64(@double)^ shr 48)
[解决办法]
var
  i:Double;
  s:string;
begin
  i:=8.886;
  s:=FloatToStr(i);
  s:=RightStr(s,2);
  showmessage(s);
end;
结果为86;

RightStr(S,2);//从S字符串变量的最右边(第一个字符包括第一个字符)开始截取2个字符;
还有必需引用系统单元StrUtils;如果要使用LeftStr,RightStr,MidStr。

热点排行