整数部・小数部の分離応用:整数は下2桁、小数は上3桁で表示する

<分類:値抜き取り>
<使用例:123.4567という小数点を含む値を整数部下2桁(23)と小数部上3桁(456)に分ける>
<プログラム例>

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

  '123.4567
   s = "123.4567"

   Call 部品_小数分離(s, rtn1, rtn2)
   rtn1 = Right(rtn1, 2)
   rtn2 = Left(rtn2, 3)

   MsgBox (s & "の整数部(下2桁)は" & rtn1 & " 小数部(上3桁)は" & 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