PDA

View Full Version : حرفه ای: مشکل با ذخیره داده های در ستونهایی با نوع int



idocsidocs
پنج شنبه 17 فروردین 1391, 13:15 عصر
وقتی یه ستون رو با نوع int تعریف می کنم و اندازه (Length/Values) رو روی 20 قرار می دم.
اگر طول داده 15 عدد بود و همه اعداد شبیه به هم بودن، اعداد به خوبی ذخیره نمی شن.

مثلا عدد 2222222222222222 توی ستون ذخیره نمی شه.

مشکل چیه؟

MMSHFE
پنج شنبه 17 فروردین 1391, 13:34 عصر
مشکل بخاطر MySQL نیست. PHP اعداد بیش از 14 رقم رو بصورت نماد علمی نشون میده. ازطرف PHP بصورت رشته بفرستین.

idocsidocs
پنج شنبه 17 فروردین 1391, 14:07 عصر
مشکل بخاطر MySQL نیست. PHP اعداد بیش از 14 رقم رو بصورت نماد علمی نشون میده. ازطرف PHP بصورت رشته بفرستین.

چطور می تونم این کار رو انجام بدم؟

اما توجه کنید که وقتی نوع ستون رو بصورت رشته تغییر می دم مشکل حل می شه.

mamali-mohammad
پنج شنبه 17 فروردین 1391, 14:28 عصر
خب شما الان بزارید varchar و یه عدد 100 رقمی رو هم بزارید ثبت میشه
اما اگه بخواید int باشه باید نماد علمی ثبت بشه

idocsidocs
پنج شنبه 17 فروردین 1391, 15:28 عصر
اما اگه بخواید int باشه باید نماد علمی ثبت بشه
یعنی هیچ راهی نیست که بشه یه عدد 20 رقمی رو از پی اچ پی گرفت و بصورت عددی توی دیتابیس ذخیره کرد؟

MMSHFE
پنج شنبه 17 فروردین 1391, 15:54 عصر
خوب داره ثبت میشه. درست هم ثبت شده. موقع خوندن هم دوباره میتونید اون رو به همین شکل بخونید و توی محاسبات به کار ببرین. مشکل کجاست؟

idocsidocs
پنج شنبه 17 فروردین 1391, 16:16 عصر
خوب داره ثبت میشه. درست هم ثبت شده. موقع خوندن هم دوباره میتونید اون رو به همین شکل بخونید و توی محاسبات به کار ببرین. مشکل کجاست؟

ممکنه بخوام روی مقادیر موجود در دیتابیس عملیات ریاضی انجام بدم و به همین دلیل حتما باید ستون با نوع int باشه.

MMSHFE
پنج شنبه 17 فروردین 1391, 16:36 عصر
خوب وقتی خوندین با settype به عدد تبدیل کنید و استفاده کنید. ولی یک راه دیگه هم هست و اون اینکه به همون صورت int ذخیره کنید و موقع نمایش اینطوری تبدیل به حالت ساده کنید:

echo rtrim(sprintf('%f', 222222222222222), '.0');
موفق باشید.