以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  老师,有个数值1/6. 怎么才能返回成6  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=113466)

--  作者:rxfmrqq
--  发布时间:2018/1/16 15:36:00
--  老师,有个数值1/6. 怎么才能返回成6

Dim sts = 1/6
Dim sts1 As Double = 1/sts
Dim sts2 As Double = 1\\sts
If sts1 <> sts2 Then
sts3 = sts2+1
End If

 

就是这样。


--  作者:有点甜
--  发布时间:2018/1/16 16:30:00
--  

是字符还是数值?是数值的话,无法处理。是字符的话,直接获取。

 

Dim s as string = "1/6"
Dim ary() As String = s.split("/")
msgbox(ary(1))


--  作者:rxfmrqq
--  发布时间:2018/1/16 16:54:00
--  

不好意思, 是这样的, 我有个单元格 数值是  0.16666666  是通过  1/6  计算而出。

而现在我想讲这个数值方向计算出   得数  6   但是实际计算过程中, 得出的数值是  1/0.16666666 = 5.99999999

所以。我就想通过,

Dim sts As Double = 1/6
Dim sts1 As Double = 1/sts
Dim sts2 As Double = 1\\sts
If sts1 <> sts2 Then
sts3 = sts2+1
End If

来判断,是否有小数点, 然后  取整数 +1 。返回出  6 这个数值。

 但是 在操作中,总是提示 试图除以整零,所以想问下老师,我是否哪里做错了。


--  作者:有点甜
--  发布时间:2018/1/16 18:11:00
--  

这个意思?

 

Dim d1 As Double = 0.1666666
Dim d2  As Integer = 1 / d1
msgbox(d2)


--  作者:rxfmrqq
--  发布时间:2018/1/17 11:18:00
--  
以下是引用有点甜在2018/1/16 18:11:00的发言:

这个意思?

 

Dim d1 As Double = 0.1666666
Dim d2  As Integer = 1 / d1
msgbox(d2)

哦对,  我脑子抽抽了。