我的MSHFlexGrid设置了数据源后,怎么小数点后会出现好多位?

wsyskyhorse 2005-10-26 10:51:26
数据源的小数位只有两位,可是在显示的时候,有的显示了6位,怎么使它只显示两位?
...全文
431 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2005-10-27
  • 打赏
  • 举报
回复
我也遇到过类似情况,最后还是逐格填充:

Private Sub Form_Load()
Dim i As Long, j As Long
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset

If cnn.State <> adStateOpen Then
cnn.CursorLocation = adUseClient

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\xxx.mdb;"

End If

MSHFlexGrid1.Clear
rst.Open "select * from table1", cnn, adOpenStatic, adLockReadOnly, adCmdText
j = 0
With MSHFlexGrid1
.Cols = rst.RecordCount + 1
For i = 0 To RS2.Fields.Count - 1
.TextMatrix(0, i) = RS2.Fields(i).Name

Do While Not rst.EOF
j = j + 1
.Rows = j + 1
.TextMatrix(i, j) = Round(rst.Fields(i).Value, 2)
rst.MoveNext
Loop

Next


End With
End Sub

jxgzay 2005-10-27
  • 打赏
  • 举报
回复
access的SQL支持VB的函数:
sql="select format(salary,'0.00') as [salary] from employee"
sqfeiyu 2005-10-27
  • 打赏
  • 举报
回复
你的數據源是float型的數字吧﹖
select的時候用round(字段,2)就可以了。
lxcy 2005-10-27
  • 打赏
  • 举报
回复
或者使用format循环填充,或者在将数据写入数据源的时候用format先格式化。
damofengbo 2005-10-27
  • 打赏
  • 举报
回复
填充单元格时使用Format$(填充的数字,"####0.00")
wsyskyhorse 2005-10-27
  • 打赏
  • 举报
回复
用DATAGRID就没问题,数据从数据库得到的是二位小数,因为我数据库也是限制的二位小数
faysky2 2005-10-27
  • 打赏
  • 举报
回复
先用Format(rs.fiels(i),"####.00")格式化,或者用Round(rs.fields(i),2)四舍五入后,再使用循环填充吧,
wsyskyhorse 2005-10-26
  • 打赏
  • 举报
回复
我是设置的datasource
winehero 2005-10-26
  • 打赏
  • 举报
回复
填充单元格时使用Format$(填充的数字,"###.00")

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧