مشکل در ذخیره کامل مختصات

پرسیده شده
فعالیت 1144 روز پیش
دیده شده 561 بار
0

با سلام و عرض خسته نباشید

بعد از ذخره مختصات در ستون lat و lng که type = float داشتند اعداد به 4 رقم اعشار رند میشدند و طبق تحقیقی که کردم باید طول و میزان اعشار را به ستون بدهیم اما به خوبی متوجه نشدم میشه کامل توضیح بدین؟

به عنوان مثال مختصات 51.338016986846924 را رند به 51.338 میکند.

float(M,D)

 که M میزان کل ارقام است و باید از D که میزان اعشار است بزرگ تر باشد اما من باید این ارقام را چجوری برای اید عدد

 ست کنم؟ 51.338016986846924

فایل پیوست

محمد گازری
محمد گازری

8 اسفند 99

0
حذف شده

سلام و احترام

الان شما میخواید اون مختصات رو به عنوان آیدی ذخیره سازی کنید؟

فایل پیوست

امیر صالحی

توسط

امیر صالحی

8 اسفند 99

0
حذف شده

خیر 

طول جغرافیایی را در ستون خودش و عرض جغرافیایی را در ستون خودش، مشابه آموزش.

فایل پیوست

محمد گازری

توسط

محمد گازری

8 اسفند 99

حذف شده
عذر میخوام، الان مشکلی که وجود داره اینکه شما میخواید اون مختصات رو توی دیتابیس ذخیره سازی کنید اما طول مختصات بیشتر از سایز فیلد داخل دیتابیس هستش؟
امیر صالحی

8 اسفند 99

حذف شده
باتشکر از پاسخگوییتون، مختصات ۵۱.۳۳۸۰۱۶۹۸۶۸۴۶۹۲۴ را به ۵۱.۳۳۸۰ رند میکند.
محمد گازری

8 اسفند 99

حذف شده
از همین متد FLOAT که آوردید میتونید استفاده کنید تا جلوی این این رند شدن رو بگیره
امیر صالحی

9 اسفند 99

0
حذف شده

میدونم باید اینکار رو بکنم اما هرچی خوندم و تست کردم موفق به انجام صحیح این کار نشدم، درصورت امکان توضیح کامل بدید.

چیزی که من فهمیدم باید مقادیر رو به صورت float(M,D) تنظیم کنیم اما نتونستم رابطه دقیق برای ذخیره درست همان عدد با همان طول بدون رند شدن در بیارم.

فایل پیوست

محمد گازری

توسط

محمد گازری

9 اسفند 99

0
حذف شده

اول از همه شما باید مطمئن بشید که حتما اون فیلدی که شما دارید مقادیر رو توش ذخیره میکنید اون سایز از اعداد رو پشتیبانی میکنه

اما چطوری میتونیم با این float کار کنیم

همون طور که میدونید دو تا ورودی داره، به طور ساده عدد سمت چپ که توی FLOAT وارد میشه تعداد ارقام قبل از ممیر یا دات هستش و عدد سمت راست تعداد اعشار بعد از دات هستش

باز اگه سوالی بود من در خدمتم

فایل پیوست

امیر صالحی

توسط

امیر صالحی

10 اسفند 99

0
حذف شده

سلام مجدد

بله همونطور که توی اول تاپیک گفتم این مورد رو میدونم اما هرجوری تنظیم میکنم باز اون عدد اصلی ذخیره نمیشه و رند میشه.

به عنوان مثال مقادیر float برای این عدد باید چجوری ثبت بشه؟

۵۱.۳۳۸۰۱۶۹۸۶۸۴۶۹۲۴

فایل پیوست

محمد گازری

توسط

محمد گازری

10 اسفند 99

حذف شده
جسارتا اگر امکانش هست این سوال رو نیز بررسی کنید قبل از این روی آکادمی گذاشته بودمش . https://7learn.ac/community/%D9%85%D8%B4%DA%A9%D9%84-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-float-%D8%A8%D9%87-%D8%AC%D8%A7%DB%8C-string-%D8%A8%D8%A7-ajax-ylz9z
محمد گازری

10 اسفند 99

0
حذف شده

سلامی مجدد به شما

من قدم به قدم میرم جلو (برای تست یه جدول میسازیم و مقادیر داخلش میریزیم تا یاد بگیریم چطوری کار میکنه) هر جا مشکلی داشتید بپرسید

 

قدم اول ایجاد جدول

CREATE TABLE t1(c1 FLOAT(53, 20), c2 FLOAT(53,20));

توی ایجاد جدول من اومدم گفتم که یه جدول میخوام اسمش t1 باشه و ۲ تا ستون داشته باشه، اولی اسمش c1 که float هستش و میتونه یه عدد اعشار بزرگی رو داشته باشه که کاملا مشخصه و از خود FLOAT استفاده کردم.

 

 

قدم دوم insert کردن دیتا توی اون جدوله

INSERT INTO t1 VALUES('1e+10','-1e+10');

حالا من میام میگم که توی جدولی که من ساختم میخوام دیتا بریزم 

 

 

نتیجه:

+----------------------------------+-----------------------------------+
| c1                               | c2                                |
+----------------------------------+-----------------------------------+
| 10000000000.00000000000000000000 | -10000000000.00000000000000000000 |
+----------------------------------+-----------------------------------+

لطفا فقط لینک اون تاپیک  رو هم توی همین پاسخ بزارید تا بررسی کنم

 

 

 

فایل پیوست

امیر صالحی

توسط

امیر صالحی

10 اسفند 99

حذف شده
https://7learn.ac/community/%D9%85%D8%B4%DA%A9%D9%84-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-float-%D8%A8%D9%87-%D8%AC%D8%A7%DB%8C-string-%D8%A8%D8%A7-ajax-ylz9z
محمد گازری

10 اسفند 99

0
حذف شده
فایل پیوست

محمد گازری

توسط

محمد گازری

10 اسفند 99