PDA

View Full Version : سوال: Decimal Data type



shahram.sys
پنج شنبه 03 مرداد 1387, 17:28 عصر
سلام دوستان .
آیا نوع داده Decimal برای نگهداری اعداد در یک برنامه حسابداری نوع داده مناسبی هست یا نه ؟ البته این اعداد به خاطر محاسبات و تقسیمات خاصی که روشون انجام میشه تعداد اعداد بعد از ممیز خیلی مهم هستن . آیا این نوع داده مقدار حافظه بیشتری در مقایسه با نوع داده Float یا Money نیاز داره ؟ ممنون از کمکتون .

shahram.sys
جمعه 04 مرداد 1387, 10:10 صبح
کسی کمکی نمیتونه بکنه ؟

AminSobati
جمعه 04 مرداد 1387, 11:11 صبح
سلام دوست عزیزم،
شما تا حد دقت بعد از اعشار براتون مهمه؟ جنس Money از منفی 922,337,203,685,477.5808 تا مثبت 922,337,203,685,477.5807 ساپورت میکنه

shahram.sys
دوشنبه 07 مرداد 1387, 12:31 عصر
زمانی که من محاسبه ای رو با نوع داده Money انجام میدم با زمانی که با نوع داده Decimal انجام میدم اختلاف عدد 1200 میشه . و نتیجه محاسبه رو توی اکسل که حساب میکنم میبینم که محاسبه نوع Decimal درست هست و تمام اختلاف به خاطر اعشار هست که در Decimal با دقت بیشتری محاسبه شده و چون تعداد رکوردها زیاد هست در حجم زیاد اختلاف بیشتر هم میشه .
در مورد مقدار حافظه اشغال شده توسط این نوع داده هم لطف کنید راهنمائی کنید . ممنون از کمکتون .

ASKaffash
دوشنبه 07 مرداد 1387, 13:15 عصر
سلام
تا جائیکه میدانم در یک سیستم حسابداری مقادیر عددی برحسب ریال است پس چرا باید از اعداد اعشاری استفاده شود بهتراست از BigInt استفاده کنید.

AminSobati
دوشنبه 07 مرداد 1387, 15:11 عصر
سلام
تا جائیکه میدانم در یک سیستم حسابداری مقادیر عددی برحسب ریال است پس چرا باید از اعداد اعشاری استفاده شود بهتراست از BigInt استفاده کنید.

مقادیر ریالی هنوز در بسیاری از سازمانهای دولتی با ارقام بعد از اعشار ارائه میشن

AminSobati
دوشنبه 07 مرداد 1387, 15:11 عصر
زمانی که من محاسبه ای رو با نوع داده Money انجام میدم با زمانی که با نوع داده Decimal انجام میدم اختلاف عدد 1200 میشه . و نتیجه محاسبه رو توی اکسل که حساب میکنم میبینم که محاسبه نوع Decimal درست هست و تمام اختلاف به خاطر اعشار هست که در Decimal با دقت بیشتری محاسبه شده و چون تعداد رکوردها زیاد هست در حجم زیاد اختلاف بیشتر هم میشه .
در مورد مقدار حافظه اشغال شده توسط این نوع داده هم لطف کنید راهنمائی کنید . ممنون از کمکتون .

ممکنه یک نمونه از محاسباتتون رو پست کنین؟

shahram.sys
سه شنبه 08 مرداد 1387, 10:20 صبح
SELECT SUM(T_Sell-((CASE WHEN Weight = 0 THEN 0 ELSE((Expenses/Weight)/Rate)END)*(Weight-Remainder))) As REMAIN
FROM Tbl_Balance
GROUP BY RecExNum
ORDER BY RecExNum
این کدی هستش که گفتم . که با دیتاتایپ Decimal تا ده رقم بعد از اعشار دقیق هست و با نوع Money حدود 1000 دلار اختلاف رو نشون میده . البته همونطور که ارز کردم در جمعهای بیشتر این اختلاف بیشتر هم میشه چون حجم اعداد خیلی زیاد هستش .
در ضمن بعد اعشار برای من مهم هستش چون معاملات با ارزهای مختلف انجام میشه نه فقط با ریال .
ممنون از همگی .