PDA

View Full Version : نمایش اعداد خیلی بزرگ



Jason.Bourne
پنج شنبه 02 آذر 1391, 23:02 عصر
برای تبدیل عدد 4.7995819070299E+18 به int باید چکار کنم.

plus
پنج شنبه 02 آذر 1391, 23:31 عصر
این عدد بزرگتر از ظرفیت int هست تبدیل نمیشه به int ولی واسه نمایشش با فرمت مورد نظرت sprintf رو ببین:
http://www.php.net/manual/en/function.sprintf.php

Jason.Bourne
پنج شنبه 02 آذر 1391, 23:45 عصر
لازم هم نیست به int تبدیل بشه. فقط می خوام موقع نمایش به این شکل نمایش داده نشه.
البته از طریق زیر میشه به خواسته مورد نظر رسید، اما این روش هم با اعداد خیلی بزرگ کارایی ندارد.


number_format(4.7995819070299E+18, 0, '', '');

plus
جمعه 03 آذر 1391, 00:34 صبح
من زیاد با PHP و امکاناتی که در این مورد میده آشنایی ندارم، اگه با sprintf هم نشه شاید روش بهتری داشته باشه اما آخرین راه حل میتونه پردازش عدد و جدا کردن تک تک ارقامش باشه.شبه کدش میشه:


Let n = 4.7995819070299E+18
Let s = ''
do while n > 0
Let d = convert ( n mod 10 ) to string
Let s = d concat s
n = n / 10
loop
// s Contains digits of n

mrgraphy
جمعه 03 آذر 1391, 08:22 صبح
سلام دوست عزیز.
یه نگاه به اینجا بنداز به نتیجه میرسی.
http://stackoverflow.com/questions/211345/working-with-large-numbers-in-php
موفق باشی.

Jason.Bourne
جمعه 03 آذر 1391, 09:37 صبح
سلام دوست عزیز.
یه نگاه به اینجا بنداز به نتیجه میرسی.
http://stackoverflow.com/questions/211345/working-with-large-numbers-in-php
موفق باشی.

من کلیه توابعی که دو اکستنشن BC Math (http://www.php.net/manual/en/book.bc.php) و GMP (http://www.php.net/manual/en/book.gmp.php) ارائه می دهند و لینک بالا به آنها اشاره شده است را بررسی کردم. هیچکدام برای تبدیل اعدد تواندار (عدد مورد نظر من) نمی باشد.