روز برنامه‌نویس مبارک 🤩🎉 از هدایای روز برنامه‌نویس جا نمونی ⌛
۰ ثانیه
۰ دقیقه
۰ ساعت
۷ رضا محب
در مورد یک عدد
جامعه پی اچ پی ایجاد شده در ۱۲ مرداد ۱۴۰۱

سلام خدمت شما

یک عدد داریم مثل 5155640487155551513501 حالا می‌خواهم آن را به صورت int دریافت کنم ودر خروجی همان عدد نمایش بدهم اما به صورت 5.1556404871556E+21 نمایش می‌دهد من در سایت stackoverflow چندین راه حل پیشنهاد داده بودند تست کردم اما باز هم جواب نداد و چیزی جز این عدد 5155640487155551513501 نمایش می‌داد چه را کاری پیشنهاد می‌دهید تا این عدد به صورت int دریافت و آن را نمایش دهم؟

با تشکر از شما

سلام دوست عزیز

دلیل این موضوع رو برای ارقام بالای ۱۹ رقم رو براتون این پایین آوردم

It has to do with the way that numbers are stored in the computer. The exact parameters of int and long depend on the specific system, although the standard is a 32 bit system which would have signed int values in the range of -2^31 < int < +2^31 - 1. This is equal to 2147483647 according to the Python documentation that I have on my computer. Anything greater will be a long which is represented differently in memory and can theoretically hold any number, only limited by available memory.
A similar phenomenon happens with fractions. A computer works in binary, but, for example, there is no rational binary fraction that can represent 1/7. Thus, when dealing with fractions, computers are notoriously bad.

لطفا از این به بعد سعی کنید موارد مرتبط به آموزش رو اون هم در جلسه مربوطه مطرح کرده و بپرسید!

موفق باشید ?

محمد گازری ۱۲ مرداد ۱۴۰۱، ۰۶:۵۱

سلام مجدد

1- برای حل این مشکل باید چه کار کنم تا عدد را به صورت int دریافت وسپس آن را نمایش دهم؟

2- این مربوط به کدام سرفصل است؟

رضا محب ۱۲ مرداد ۱۴۰۱، ۰۷:۰۳

۱. میتونید string دریافت کنید

۲. مربوط به انواع داده است

موفق باشید ?

محمد گازری ۱۲ مرداد ۱۴۰۱، ۰۷:۰۴

یه نکته رو هم اضافه کنم که در sql bigint ماکسیمم میتونه 9223372036854775807 رو نگه داره و unsigned bigint میتونه 18446744073709551615 نگه داره

محمد گازری ۱۲ مرداد ۱۴۰۱، ۰۷:۱۱

راه کاری جز دریافت sting نداره؟


رضا محب ۱۲ مرداد ۱۴۰۱، ۰۷:۱۸

میتونید از این دو لایبرری استفاده کنید

https://www.php.net/manual/en/book.bc.php

https://www.php.net/manual/en/book.gmp.php

دایکیومنت هاشون رو براتون فرستادم ببینید به درد پروژتون میخوره یا نه

موفق باشید ?

محمد گازری ۱۲ مرداد ۱۴۰۱، ۰۷:۲۳