PDA

View Full Version : حرفه ای: تعريف فرمت دلخواه عددي براي برگرداندن Msgbox



ARData
شنبه 07 بهمن 1391, 16:09 عصر
سلام
تا حالا دقت کرده ايد که شماره هايي با فرمت هاي گوناگون مثل از نوع ريالي يا جداکردن سه رقم به سه رقم اعداد در متن مسيج باکس هميشه بدون فرمت بوده ؟

مثلا عدد داخل يک فيلد : 1,200,150 ريال است ولي زماني که مي خواهيم در متن مسيج باکس برگردانيم عدد 1200150 را برمي گردونه ...
با استفاده از فرمول زير اين مشکل حل شده که توضيح مختصر آن به شرح زير است :
Public Function ARDATA_Format(ByVal STRMyDigit As String, ByVal STRCutSymbol As String, ByVal STRMYFormatName As String)
Dim RevMyDigit As String
Dim MySTRCur As String

Dim i As Integer
Dim j As Integer

If STRMyDigit = "" Then
Exit Function
End If

j = Int((Len(STRMyDigit) - Nz((Len(STRMyDigit) Mod 3), 3)) / 3)
RevMyDigit = StrReverse(Right(STRMyDigit, Len(STRMyDigit) - Nz((Len(STRMyDigit) Mod 3))))
Dim L As Integer
For i = 1 To j
If j = 1 And Len(STRMyDigit) Mod 3 = 0 Then
MySTRCur = STRMyDigit
Exit For
End If
If i = 1 Then
L = 1
Else
L = i
End If
MySTRCur = STRCutSymbol & StrReverse(Mid(RevMyDigit, ((L - 1) * 3) + 1, 3)) & MySTRCur
Next i

ARDATA_Format = Left(STRMyDigit, Len(STRMyDigit) Mod 3) & MySTRCur & " " & STRMYFormatName

End Function

ARDATA_Format("واحد شمارش مثل ريال يا دلار يا کيلوگرم يا ليتر و ...", "سمبل جداکننده سه رقم اعداد", "مقدار عددي يا رشته اي" )

Private Sub Command83_Click()
MsgBox ARDATA_Format("1200140", ",", " ليتر")
End Sub


99029