小数点を含む値を整数部と小数部に分ける

<分類:値抜き取り>
<使用例:123.456という小数点を含む値を整数部(123)と小数部(456)に分ける>
<プログラム例>

Sub 使用例()
   Dim s As String
   Dim rtn1 As String
   Dim rtn2 As String

  '123.456
   s = "123.456"

   Call 部品_小数分離(s, rtn1, rtn2)

   MsgBox (s & "の整数部は" & rtn1 & " 小数部は" & rtn2 & "です")

End Sub


Sub 部品_小数分離(p1, r1, r2)

'p1:値1
'r1:整数部
'r2:小数部

   Dim ne1 As String
   Dim ne2 As String

   Dim nelens As Long

   nelens = Len(p1)
   If InStr(p1, ".") > 0 Then
      '整数部の取り出し
       ne1 = Mid(p1, 1, InStr(p1, ".") - 1)
      '小数部の取り出し
       ne2 = Mid(p1, InStr(p1, ".") + 1, nelens)
   Else
       ne1 = p1
       ne2 = 0
   End If
   
   r1 = ne1
   r2 = ne2
   
End Sub