Foxtable(狐表)用户栏目专家坐堂 → 设置小数位数


  共有2280人关注过本帖树形打印复制链接

主题:设置小数位数

美女呀,离线,留言给我吧!
漂亮美眉vszh
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:893 积分:8064 威望:0 精华:0 注册:2013/5/30 11:27:00
设置小数位数  发帖心情 Post By:2016/1/30 20:39:00 [只看该作者]

先求出某一行的最大小数位数,并将这一行的所有的数字行设置成最大的小数位数
1.求出某一行的最大小数位数,附给i
2.把某行某列的数值用ROUND,设转置位数,但怎么不动,没反映
If e.DataRow("规格标准") <> "汇总比率" Or e.DataRow("规格标准") <> "汇总" Then
    Dim i As Integer
 i = e.DataRow("实测值样品1").tostring().length - e.DataRow("实测值样品1").Tostring().lastindexof(".")-1
If e.DataRow("实测值样品2").tostring().length - e.DataRow("实测值样品2").Tostring().lastindexof(".")-1 > i Then
i = e.DataRow("实测值样品2").tostring().length - e.DataRow("实测值样品2").Tostring().lastindexof(".")-1
End If
If e.DataRow("实测值样品3").tostring().length - e.DataRow("实测值样品3").Tostring().lastindexof(".")-1 > i Then
i = e.DataRow("实测值样品3").tostring().length - e.DataRow("实测值样品3").Tostring().lastindexof(".")-1
End If
If e.DataRow("实测值样品4").tostring().length - e.DataRow("实测值样品4").Tostring().lastindexof(".")-1 > i Then
i = e.DataRow("实测值样品4").tostring().length - e.DataRow("实测值样品4").Tostring().lastindexof(".")-1
End If
If e.DataRow("实测值样品5").tostring().length - e.DataRow("实测值样品5").Tostring().lastindexof(".")-1 > i Then
i = e.DataRow("实测值样品5").tostring().length - e.DataRow("实测值样品5").Tostring().lastindexof(".")-1
End If
If e.DataRow("实测值样品6").tostring().length - e.DataRow("实测值样品6").Tostring().lastindexof(".")-1 > i Then
i = e.DataRow("实测值样品6").tostring().length - e.DataRow("实测值样品6").Tostring().lastindexof(".")-1
End If
MessageBox.Show(i)
If e.DataRow("实测值样品1") IsNot Nothing Then
e.DataRow("实测值样品1") = round2(e.DataRow("实测值样品1"),i)
End If
If e.DataRow("实测值样品2") IsNot Nothing Then
e.DataRow("实测值样品2") = round2(e.DataRow("实测值样品2"),i)
End If
If e.DataRow("实测值样品3") IsNot Nothing Then
e.DataRow("实测值样品3") = round2(e.DataRow("实测值样品3"),i)
End If
If e.DataRow("实测值样品4") IsNot Nothing Then
e.DataRow("实测值样品4") = round2(e.DataRow("实测值样品4"),i)
End If
If e.DataRow("实测值样品5") IsNot Nothing Then
e.DataRow("实测值样品5") = round2(e.DataRow("实测值样品5"),i)
End If
If e.DataRow("实测值样品6") IsNot Nothing Then
e.DataRow("实测值样品6") = round2(e.DataRow("实测值样品6"),i)
End If

End If
Tables("全检子表").Rows(1)("实测值样品2") = Math.Round(Tables("全检子表").Rows(1)("实测值样品2"),2)
MessageBox.Show(Tables("全检子表").Rows(1)("实测值样品2"))
3.在命令窗口执行了这句代码,同样也出不来
Tables("全检子表").Rows(1)("实测值样品2") = Math.Round(Tables("全检子表").Rows(1)("实测值样品2"),2)
MessageBox.Show(Tables("全检子表").Rows(1)("实测值样品2"))

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/31 9:56:00 [只看该作者]

我这样测试没问题。

 

Dim str As String = "123.45678"
str = math.Round(val(str), 2)
msgbox(str)

 

如果还有问题,做个例子上来测试。


 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:893 积分:8064 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2016/2/1 15:32:00 [只看该作者]

老师们帮我看看这道题~~~

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/1 15:33:00 [只看该作者]

测试没问题啊,你到底想问什么,上传例子测试。

 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:893 积分:8064 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2016/2/1 16:05:00 [只看该作者]

以下是引用大红袍在2016/2/1 15:33:00的发言:
测试没问题啊,你到底想问什么,上传例子测试。
1.在命令窗口执行了这句代码,同样也出不来
Tables("全检子表").Rows(1)("实测值样品2") = Math.Round(Tables("全检子表").Rows(1)("实测值样品2"),2)
MessageBox.Show(Tables("全检子表").Rows(1)("实测值样品2"))
执行不成功,

2.Dim str As String = "123.45678"
str = math.Round(val(str), 2)
msgbox(str)

同样的代码,这样就能成功,放表事件就不行了~~
 

 回到顶部
美女呀,离线,留言给我吧!
漂亮美眉vszh
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:893 积分:8064 威望:0 精华:0 注册:2013/5/30 11:27:00
  发帖心情 Post By:2016/2/1 16:06:00 [只看该作者]

我的此列本来就是双精度列,所以没用VAL转换~~

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/1 16:07:00 [只看该作者]

不 可 能,上传实例。


 回到顶部