stringgrid栏位输入调整为money型数据(含三个小问题) |
答題得分者是:HM
|
baby2321
初階會員 發表:52 回覆:165 積分:48 註冊:2005-06-11 發送簡訊給我 |
stringgrid1.cells[2,i]中数据需要写入sql server数据库且为money
1.如何实现USER在stringgrid1.cells[2,i]输入字母或非money型时 将其强制转换为0显示?
不知在StringGrid1MouseDown中如何写
2.在stringgrid1.cells[2,i]输入的数据 如何隔三位就加上逗号分割?
3.小数点后如何保留小数点后两位和 小数点后第两位 根据USER在小数点后输入的第三位四舍五入? 發表人 - baby2321 於 2005/11/20 20:21:10
|
baby2321
初階會員 發表:52 回覆:165 積分:48 註冊:2005-06-11 發送簡訊給我 |
|
baby2321
初階會員 發表:52 回覆:165 積分:48 註冊:2005-06-11 發送簡訊給我 |
看到有朋友这样写
double d = 1234567.01;
DecimalFormat df = new DecimalFormat("#,###,###.##");
String str1 = df.format(d);
System.out.println(str1);
但不知这和stringgrid[2,i]的输入确认结合起来 不知道是不是在下发错了区域 这个问题连点击的朋友都比较少 现将问题结案 转至数据库区 望版主 站长见谅 發表人 - baby2321 於 2005/11/22 16:51:40
|
HM
初階會員 發表:21 回覆:32 積分:25 註冊:2004-11-17 發送簡訊給我 |
我是寫在Grid的keydown裡,利用Try Except 來簡單的判斷輸入值是否為數值,非數值的值就在Except裡填上0;紅色那一行,就是user按下enter之後,自動加上comman,而且小數點第二位以後四捨五入到第二位
If key = 13 Then Begin If StringGrid1.Col = 0 Then Begin Try StrToFloat(StringGrid1.Cells[0,StringGrid1.Row]); Except StringGrid1.Cells[0,StringGrid1.Row] := '0'; End; StringGrid1.Cells[0,StringGrid1.Row] := Formatfloat('#,##0.00',StrToFloat(StringGrid1.Cells[0,StringGrid1.Row])); End; End;發表人 - HM 於 2005/12/06 11:48:29 |
baby2321
初階會員 發表:52 回覆:165 積分:48 註冊:2005-06-11 發送簡訊給我 |
|
baby2321
初階會員 發表:52 回覆:165 積分:48 註冊:2005-06-11 發送簡訊給我 |
TO:HM THANKS! 你的方法可以实现 隔三位就加上逗号分割 和 小数点后输入的第三位四舍五入 之所以出现valid floating point value的错误 是因为我把StringGrid1.Cells[0,StringGrid1.Row] 做了数据加总 代码如下: procedure TInput.Sum; var begin for i:=1 to 100 do if stringgrid1.Cells[0,i]<>'' then begin sum:=sum strtofloat(stringgrid1.Cells[0,i]);//其实这里的stringgrid1.Cells[0,i]已经是Float型了 我想应该是在Formatfloat产生 隔三位就加上逗号分割的逗号 造成了加总出现问题 //因为千位以内 即不产生 隔三位就加上逗号分割的逗号 计算加总的时候就没有问题 而一旦产生这个逗号 就出现了加总方面的问题 含有逗号在其中是无法加总的 故而出现提示的错误 我想是不是这样??指指正 end; dbedit1.Text:=floattostr(sum); dbedit1.Update; end;
|
baby2321
初階會員 發表:52 回覆:165 積分:48 註冊:2005-06-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |