PDA

View Full Version : سوال: بدست آوردن قسمت اعشار يك عدد



morteza_lll
یک شنبه 17 آذر 1387, 08:44 صبح
باعرض سلام خدمت دوستان عزيز
يك سوال شايد ابتدايي داشتم مي خواستم بدونم تابعي وجود داره كه قسمت اعشار يك عدد را در خروجي نشان دهد
مثلا 22/5 را به صورت 22 نشان دهد

ممنون مي شم اگه كسي بتونه جواب منو بده

مهدی قربانی
یک شنبه 17 آذر 1387, 10:59 صبح
سلام
مرتضی جان با تابع Round میتونی این کار رو انجام بدی :

Round([FieldName])

morteza_lll
یک شنبه 17 آذر 1387, 11:06 صبح
سلام مهدي جان ممنون از پاسختون ولي اين تابع قسمت صحيح عدد رو در خروجي نشون مي ده من طبق مثالي كه در بالا زدم ميخوام قسمت اعشار رو در خروجي نشان بدم بوسيله يك تابع
مثلا 5.22 را به صورت 22 نشان دهد

منتظر راهنمايي شما و ساير دوستان هستم با تشكر

مهدی قربانی
یک شنبه 17 آذر 1387, 12:43 عصر
سلام
آقا مرتضی من اشتباه متوجه شدم ، برای این منظور تابعی تو ذهنم نیست ولی می تونی با سه روش زیر جواب بگیری :


***برای استفاده در Control Source یک تکست باکس

=Mid([FieldName];Len(Int([FieldName]))+2;Len([FieldName])-Len(Int([FieldName])))***برای استفاده در محیط VBA

Private Sub Command4_Click()
Dim I
Dim x

x = Len(Int(Me.FieldName))
I = Len(Me.FieldName) - x
Me.FieldName2.Value = Mid(Me.FieldName, x + 2, I)

End Sub
*** استفاده از ماجول
ایجاد یک ماجول جدید و کپی کدهای زیر داخل اون

Function DcOutPut(FieldName As String)

On Error GoTo Err_DcOutPut
Dim I As Integer
Dim x As Integer
Dim Intval

Intval = Int(FieldName)
x = Len(Intval)
I = Len(FieldName) - x
If I = 0 Then
DcOutPut = 0
Else
DcOutPut = Mid(FieldName, x + 2, I)
End If

Exit_DcOutPut:
Exit Function

Err_DcOutPut:
MsgBox Err.Description
Resume Exit_DcOutPut

End Function
برای استفاده از تابع این ماجول ، در داخل تکست باکس یا کوئری به این شکل اقدام کن

DcOutPut(FieldName)