Delphi7保存2位小數點
Delphi7保留2位小數點我做了一個軟件,裡面有一個Edit1.text是輸入框我輸入1.14的時候append到數據庫裡變成
Delphi7保留2位小數點
我做了一個軟件,裡面有一個Edit1.text是輸入框我輸入1.14的時候append到數據庫裡變成了1.14
可是用Dbgrid顯示在窗體時變成了1.143458778變成了這麼多數字。
我要怎麼寫代碼存入和取出都是1.14這個值。請給出代碼~~~謝謝
[解决办法]
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和DBGRID之间的问题,你在数据库里把原来设成FLOAT全改成DOUBLE就不会出现此类问题,我以前也遇到类似问题
[解决办法]可以设置DBGrid相绑定的数据集(如ADOQuery)的DisplayFormat字段的属性DisplayFormat := '#0.00';