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

Delphi7保存2位小數點

2013-07-26 
Delphi7保留2位小數點我做了一個軟件,裡面有一個Edit1.text是輸入框我輸入1.14的時候append到數據庫裡變成

Delphi7保留2位小數點
我做了一個軟件,裡面有一個Edit1.text是輸入框我輸入1.14的時候append到數據庫裡變成了1.14
可是用Dbgrid顯示在窗體時變成了1.143458778變成了這麼多數字。
我要怎麼寫代碼存入和取出都是1.14這個值。請給出代碼~~~謝謝
[解决办法]

引用:
你的数据库中字段格式应该是float  就是这个原因


double
[解决办法]
如果对小数精度要求特别的话,用定点小数,不要用浮点小数.
Currency,TBCD两个类型都是定点小数。
[解决办法]
Currency最多支持4位小数,TBCD貌似支持32个小数。都是精确表示法.
Float,Double是浮点小数,采用的IEEE标准存储数据,是一种近似表示法,有误差很正常。
[解决办法]
如果用real,float,double出现这个情况很正常,本来在内存中就是近似数值表示的。
Delphi支持Currency(整数表示法),TBCD(数值表示法)来表示定点小数,很精确的。
对应数据库内容,就不能用Float类型,数据库最好有Decimal之类的类型了
[解决办法]
别人是想问 3.14111111 怎么转成3.14 你们都在那儿瞎闹
var
  s: Double;
  ss: string;
begin
  s := 3.14121212;
  ss:= format('%.2f',[s]);
  ShowMessage(ss);
  //可对ss再次转化成其他的类型,看需求
end;
[解决办法]
引用:
引用:你的数据库中字段格式应该是float  就是这个原因

double


其实就是Float和DBGRID之间的问题,你在数据库里把原来设成FLOAT全改成DOUBLE就不会出现此类问题,我以前也遇到类似问题
[解决办法]
可以设置DBGrid相绑定的数据集(如ADOQuery)的DisplayFormat字段的属性DisplayFormat := '#0.00';

热点排行