مقاله : مشکل با نوع real

Iauksh
سلام دوستان
همانطور که می دانید نوع real و نوع doubel از نوع اعداد اعشاری هستند و به صورت ممیز شناور هستند من در برنامه ام که با vb6 نوشتم از این نوع زیاد استفاده کردم حال به مشکلی که بر خوردم اینه که مثلا عدد 12.6 را به صورت 12.5999998 نشان میده که خوب این صحیح نیست
جالب اینجاست که وقتی خود sql را باز میکنی این عدد به صورت 12.6 نشان داده می شود ولی در برنامه به صورت 12.5999998 نشان داده می شود
یکی از دوستان این گونه راهنمایی کرد


Select Cast(myfield As Numeric(10,1)), * From mytable

ولی مشکل اینجاست که اگر عدد ما اعشار نداشته باشد به این مورد گیر میدهد
حالا چه کنم که اون اعداد نجومی را نشون نده :cry:

Iauksh
بسمه تعالی

با سلام

در sql server در نوع Real به تعداد ارقام اعشار 0 وارد می کند. , یا آخرین عدد اعشار را به گونه ای می شکند تا ارقام اعشار برابر ارقام اعشار نوع Real شود مثلا 12.6 را به 12.5999999 تبدیل می کند
برای حل این مشکل می بایست نوع فیلد مورد نظر را به Numeric تغییر داده و ویژگی Precision , Scale آن را Set می کنیم.
Precision تعداد کل ارقام و Scale تعداد ارقام اعشاری را مشخص می کند.

با آرزوی موفقیت

خدا نگهدار

Email:mh_deriss@yahoo.com

Iauksh
بازم دمت گرم که جواب دادی
به این می گن با معرفت :oops: