PDA

View Full Version : تابع گرد کردن اعداد



rezaei manesh
سه شنبه 20 بهمن 1383, 14:51 عصر
سلام
می خواستم بدونم چطور می شه یه متغیر رو به دلخواه تعداد ارقام اعشار گرد کرد.
من یه مقدار اعشار ی مثلا 2.2523 رو تویه یه متغیر single قرار میدم و بهد اونو توی بانک sql قرار می دم اما اونجا یه عدد با اعشار های زیاد ذخیره می شه مثلا 2.250660089650864089466 نمی دونم چرا ؟
اگه کسی می ئونه کمکم کنه
باتشکر
:گیج: ::نوشتن::

linux
سه شنبه 20 بهمن 1383, 18:09 عصر
احتمالا نوع متغیر بانک sql با متغیر single از یک نوع نیست
می تونی از توابع cdbl یا csng استفاده کنی

علیرضا مداح
جمعه 23 بهمن 1383, 16:29 عصر
سلام .
برای گرد کردن اعداد میتوانید از تابع Round استفاده کنید .
یکی از فرمتهای این تابع به صورت زیر است :

Public Shared Function Round(ByVal value As Double, ByVal digits As Integer) As Double

در اینجا برای مقداردهی آرگومان value متغیری از نوع Double و یا یک عدد اعشاری قرار میگیرد . همچنین برای تنظیم مقدار آرگومان digits نیز ، یک عدد صحیح که مشخص کننده ی تعداد ارقام اعشاری از مقدار متغیر value است که میبایست بعد از گرد شدن همراه عدد برگردانده شود ، قرار میگیرد . .مقدار این آرگومان به طور پیش فرض 0 است . در نهایت این تابع مقداری از نوع Double را برمیگرداند .
برای نمونه به مثال زیر توجه کنید :


Dim dblvalue As Double = 18 / 7 ' Returns 2.57142857142857
Dim Result As Double = Math.Round(dblvalue) ' Returns 2
Dim Result2 As Double = Math.Round(dblvalue, 2) 'Returns 2.57
Dim Result3 As Double = Math.Round(dblvalue, 3) 'Returns 2.571

حال شما میتوانید هر یک از مقادیر به دست آمده را در بانک اطلاعاتی خود و در رکورد مورد نظر ذخیره نمایید . .

dotnet
یک شنبه 25 بهمن 1383, 09:56 صبح
اگه بعد از اعشار خودش مضاعف میشه ربطی به گرد کردن دیگه نداره چون شما داری میگی تو sql خودش زیاد میشه. بنظرم شما باید نوع ذخیره سازیت رو تغییر بدی منظورم تنظیماتشه. مثل وقتی که Decimal place رو تو جاهای دیگه تنظیم میکنی . :گیج: :flower:

rezaei manesh
چهارشنبه 28 بهمن 1383, 11:22 صبح
سلام
از راهنمایی تون ممنونم
توی sql متغیرم از نوع float bood اون از نوع real کردم درست شد.
تابع round هم خیلی به دردم خورد.
:تشویق:
:flower:
::نوشتن::

linux
چهارشنبه 28 بهمن 1383, 13:30 عصر
توی sql متغیرم از نوع float bood اون از نوع real کردم درست شد.
من که همون اول گفتم!