salam. php də 1.8 ədədini necə etmək olarki 1.8 deyil 1.80 kimi göstərsin. və ya 2 ədədini 2 kimi yox 2.00 və ya 2.1 deyil 2.10
salam. php də 1.8 ədədini necə etmək olarki 1.8 deyil 1.80 kimi göstərsin. və ya 2 ədədini 2 kimi yox 2.00 və ya 2.1 deyil 2.10
Verilmiş cavablar və yazılan şərhlər (18 cavab var)
2
Salam. number_format() funksiyasından istifade ede bilərsən bunun üçün.
0
üzr istəyirəm mən fikrimi çatdira bilməmişəm, suali səhv vermişəm .
yeni mənə lazımdıki 1=1.00, 198=198. 1578=157 kimi göstərsin. yeni ədəd sayını 3 rəqəmli olaraq saxlasin 1=1.00 göstərirsə 198=198.00 kimi göstərməsin elə 198 kimi göstərsin
1
Yenə də number_format() funksiyasından istifadə etməklə:
əgər ədəd 10-dan kiçikdirsə, echo number_format($a, 2); // 1.80
əgər ədəd 100-dən kiçik 10-dan böyük və ya bərabərdirsə, echo number_format($a, 1); // 27.0
qalan hallarda adi çap kimi…
0
Mehman Elxanoglu, qardaş problem elә ordadırki әdәd dinamik deyil deyişgәndir, gah 3dәn böyük gahda 3dәn kiçik olur.
1
Buyur.
1
1
Bu da funksiya kimi
2
Bu isə daha mükəmməl forması 🙂
0
chox sagolun eziyyet chekmisiz haminiza teshekkur edirem ama bu yazdiqin kodlar menim ishimi tam gormur. )
yeni bunlar ancag tam ededleri ishleyir qaliqli ededlerde ise ishlemir.
mene lazim idi meselcun 1.85 ise ele 1.85 qalsin 1 ise 1.00 olsun, ve ya 2354 ise 235 olsun. duzdur 1=1.00 ve 2354=235 alinir ama 1.85 de, 1.3545 ve ya 3543.22 oldugda artiq pass verir kodlar )
1
bes 20.1 nece olsun?
1
2
PHP-də çarəsiz heç nə yoxdu 🙂
1
bu funksiya 5435 uchun 5,435 qaytarir.
1
Çünki string kimi daxil etmisən rəqəmi. Amma bunu da həll etmək lazımdı.
1
Version 1.3
Bəzi ədədlər string kimi verildikdə funksiya düz işləmirdi.
1
bu yazdigin funksiyada ne bash verdiyini izah ede bilersen?
bildiyim qeder ile number_format funksiyasinin 3cu ve 4cu arqumentleri noqte nin ve minliyi ayirmanin simvolunu gosterir. bunu nece islediyini basa dusmek isteyirem, faktiki olaraq 3-cu ve 4-cu arqumentlerin yerine yazmisan.
1
cox sagolun, sonuncu functionlariniz ishime yaradi, Allah sizden razi olsun. eziyyetinizi halal eleyin
3
3 və 4-cü arqument işlədilməyib. Daha doğrusu susma halına görə saxlanılıb.
1-ci arqument bu substr($n, 0, is_int($n) || strlen((int)$n) >= 4 ? 3 : 4)
2-ci arqument isə budur 3 – strlen((int)$n)
Funksiya nə edir ?
Verilmiş rəqəmi is_int yoxlayır tam ədəddir ya yox, tam ədəddirsə və ya rəqəmi (int) ilə zorla tam ədədə çevirib saydıqda 4-dən böyük bərabərdisə verilmiş rəqəmin ilk 3 həddini kəsirik.
Məs, verilmiş rəqəm = 3456.67 burda is_int qəbul eləmir, (int) çevirir olur 3456 strlen 4 sayır, demək ki ilk üçünü kəsmək lazımdır. Qalır 345.
Alınır number_format(345, -1); Burda isə 4-cü arqument minliklərə ayırdığı üçün -1 heç bir rol oynamır. Çünki ədəd 3 rəqəmdən ibarətdir, minliklərə ayrıla bilmir.
Qalan bütün hallarda isə verilmiş rəqəmi kəsmirik, çünki tam ədəd olmur. Və (int) ilə çevirdikdə belə sayı 4-dən kiçik olur. Demək ki, kəsməyə ehtiyac yoxdur. Olduğu kimi saxlayırıq. Məsələn, 34.5 olarsa rəqəm. substr heç nə etmir. (int) 34.5 verir 34. 3-2 qalır 1. Nəticə number_format(34.5, 1); => 34.5
Sual verin
Cavab verin