farzadkamali
چهارشنبه 23 اردیبهشت 1394, 11:39 صبح
با سلام
توی پروژه ها معمولا برخی از فیلدها توشون مبلغ ذخیره میشه.
این فیل ها باید نوعشون چی باشه؟ float - int - money
و سوال دوم اینه که برای هر کدام از انواع داده بالا محاسبه به چه صورت هست.
من توی محاسبات بعضی مواقع که مقدار ممکنه اعشاری بشه به مشکل بر میخورم.(حالا مقدار اعشار زیاد مهم نیست و گرد بشه هم موردی نداره) اما گاهی overflue و گاهی مشکل سرریز به دلیل int و float
نوع داده من float هست. یک هزینه رو میخوام بین چند نفر تقسیم کنم به صورت زیر:
module.scu.FieldByName('amountpayable').Value:=str toFloat(edit1.text)+Module.members.fieldbyname('qt y').value div tqty
tqt یه متغیره double هست و تعداد کل نفرات هست و با دستورات sql مقدارش محاسبه میشه. و فیل های qty و amountpayable جداول int هستند
یا دستوراتی مثل دستور فوق که چند تا مقدار یا متغیر با هم ضرب و تقسیم میشن تا مقدار این فیلد بدست بیاد.
دوستان برای این موارد چکار میکنن؟ همه رو float میگیرین؟ یا گرد میکنین و همه رو int میگیرین؟
مقدار money چه طوره؟ برای محاسبات باید تبدیل نوع ش کرد؟ و آیا توی دلفی تعریف شده؟
چه باید کرد که خطای overflue به دلیل عدم تطابق نوع نده.
اینم اروری که گاها میده(حالا برخی موارد با کمی تغییر).
بعضی موقع ها هم نمیده و عملیات کامل انجام میشه در حالی که دستورات و مقادیر و... همونه
---------------------------
EVariantOverflowError: Overflow while converting variant of type (Double) into type (Integer)
---------------------------
توی پروژه ها معمولا برخی از فیلدها توشون مبلغ ذخیره میشه.
این فیل ها باید نوعشون چی باشه؟ float - int - money
و سوال دوم اینه که برای هر کدام از انواع داده بالا محاسبه به چه صورت هست.
من توی محاسبات بعضی مواقع که مقدار ممکنه اعشاری بشه به مشکل بر میخورم.(حالا مقدار اعشار زیاد مهم نیست و گرد بشه هم موردی نداره) اما گاهی overflue و گاهی مشکل سرریز به دلیل int و float
نوع داده من float هست. یک هزینه رو میخوام بین چند نفر تقسیم کنم به صورت زیر:
module.scu.FieldByName('amountpayable').Value:=str toFloat(edit1.text)+Module.members.fieldbyname('qt y').value div tqty
tqt یه متغیره double هست و تعداد کل نفرات هست و با دستورات sql مقدارش محاسبه میشه. و فیل های qty و amountpayable جداول int هستند
یا دستوراتی مثل دستور فوق که چند تا مقدار یا متغیر با هم ضرب و تقسیم میشن تا مقدار این فیلد بدست بیاد.
دوستان برای این موارد چکار میکنن؟ همه رو float میگیرین؟ یا گرد میکنین و همه رو int میگیرین؟
مقدار money چه طوره؟ برای محاسبات باید تبدیل نوع ش کرد؟ و آیا توی دلفی تعریف شده؟
چه باید کرد که خطای overflue به دلیل عدم تطابق نوع نده.
اینم اروری که گاها میده(حالا برخی موارد با کمی تغییر).
بعضی موقع ها هم نمیده و عملیات کامل انجام میشه در حالی که دستورات و مقادیر و... همونه
---------------------------
EVariantOverflowError: Overflow while converting variant of type (Double) into type (Integer)
---------------------------