以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  数字向下取整问题,求高手指教,感激不尽。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=52600)

--  作者:miracle1300
--  发布时间:2014/6/18 21:04:00
--  数字向下取整问题,求高手指教,感激不尽。

问题:现有一列数据除以10的次方后向下取整,即除以10的次方后舍掉小数位,如下图,按照图中计算表达式,十位列第5行(红色框交叉处)计算结果错误,正确结果应为0。

 

即:但当百位列数字为奇数,且该奇数位后面全为0时,用图中所示表达式计算(减0.49的原因是为实现该列其它无法被10整除的数据向下取整),则十位列向下取整结果错误,如何用一个表达式实现该列所有数据向下取整?

 

问题补充:该问题的实质是将83300分解成8、3、3、0、0五个单独数字,如果有别的方法实现也可以,求指教。

 

图片点击可在新窗口打开查看

 

特别提醒:1、拒绝理论性回复,回复请附实际运行结果;

              2、拒绝灌水及无实际内容答复;

求高手解决!!!!!感激不尽!!!!

 

[此贴子已经被作者于2014-6-18 21:45:00编辑过]

--  作者:有点甜
--  发布时间:2014/6/18 21:15:00
--  

代码

 

Dim data As Integer = 230

Dim str As String = data
For i As Integer = str.Length - 1 To 0 Step -1
    If CInt(str(i).Tostring) Mod 2 = 1 Then
        msgbox(data \\ 10 ^ (str.Length - i - 1))
        Exit For
    End If
Next