Php, ədəd say uzunluqu.

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


Kateqoriya: Sual . , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (18 cavab var)

(17:31, 02/12/2013 ) #34368

Salam. number_format() funksiyasından istifade ede bilərsən bunun üçün.

$a = 1.8;
$b = 2;
$c = 2.1;

echo number_format($a, 2); // 1.80
echo number_format($b, 2); // 2.00
echo number_format($c, 2); // 2.10
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(20:50, 02/12/2013 ) #34372

ü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

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (11:57, 03/12/2013 ) #34384

    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…

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(15:22, 03/12/2013 ) #34388

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.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(20:10, 03/12/2013 ) #34394

Buyur.

function convert_to($a) {
$len = strlen($a);
if($len == 3)
return $a;
if($len > 3)
return substr($a, $len-3);
if($len < 3)
return $a.'.'.str_repeat(0,(3-$len));
}

echo convert_to(5).'<br/>'; // 5.00
echo convert_to(55).'<br/>'; // 55.0
echo convert_to(555).'<br/>'; // 555
echo convert_to(5555); // 555
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(20:13, 03/12/2013 ) #34395
$numbers = array(1, 200, 300, 45756, 3456, 2, 22);

foreach($numbers as $value)
echo $value . ' = ' . (strlen($value) >= 3 ? substr($value, 0, 3) : number_format($value, 3 - strlen($value))) . '<br/>';

//Nəticə: 
1 = 1.00
200 = 200
300 = 300
45756 = 457
3456 = 345
2 = 2.00
22 = 22.0
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(20:18, 03/12/2013 ) #34396

Bu da funksiya kimi

function _Convert($n)
{
	return strlen($n) >= 3 ? substr($n, 0, 3) : number_format($n, 3 - strlen($n));
}
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(20:25, 03/12/2013 ) #34397

Bu isə daha mükəmməl forması 🙂

function _Convert($n)
{
	return number_format(substr($n, 0, 3), 3 - strlen($n));
}
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(02:48, 04/12/2013 ) #34402

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 )

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(12:00, 04/12/2013 ) #34405

bes 20.1 nece olsun?

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(12:30, 04/12/2013 ) #34407
<?
function aaa($a){
	$c = $a*100;
	if(strlen($c)>=5){
		$b = substr($c, 0, 3);
	}
	else{
		$d = pow(10,-2);
		$b = number_format($c*$d,2);
		$b = substr($b, 0, 4);
		
	}
return $b;
}
echo aaa("5435")."<br/>";
echo aaa("20.1")."<br/>";
echo aaa(2.01)."<br/>";
echo aaa("1")."<br/>";
?>
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(13:07, 04/12/2013 ) #34409

PHP-də çarəsiz heç nə yoxdu 🙂

function _Convert($n)
{
	return number_format(substr($n, 0, is_int($n) || strlen((int)$n) > 4 ? 3 : 4), 3 - strlen((int)$n));
}
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (18:03, 05/12/2013 ) #34432

    bu funksiya 5435 uchun 5,435 qaytarir.

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

      (10:08, 06/12/2013 ) #34441

      Çünki string kimi daxil etmisən rəqəmi. Amma bunu da həll etmək lazımdı.

      Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

      (10:11, 06/12/2013 ) #34442

      Version 1.3
      Bəzi ədədlər string kimi verildikdə funksiya düz işləmirdi.

      function _Convert($n)
      {
      	return number_format(substr($n, 0, is_int($n) || strlen((int)$n) >= 4 ? 3 : 4), 3 - strlen((int)$n));
      }
      Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

      (22:30, 07/12/2013 ) #34454

      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.

      Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(01:11, 05/12/2013 ) #34420

cox sagolun, sonuncu functionlariniz ishime yaradi, Allah sizden razi olsun. eziyyetinizi halal eleyin

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(00:42, 08/12/2013 ) #34457
<em>NModern (Profil) (22:30, 07/12/2013 ) #34454 

bu yazdigin funksiyada ne bash verdiyini izah ede bilersen?</em>

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

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Son cavablar və şərhlər

Wp-Login cavab verdi - Alış veriş sayt haqqında (2 saat əvvəl)

Şükür Hüseynov cavab verdi - Alış veriş sayt haqqında (2 saat əvvəl)

Şükür Hüseynov cavab verdi - İnternetdə avtomatik "mb" çıxılmasını dayandırmaq (2 saat əvvəl)

Sahin2000 cavab verdi - Aliexpress Dispute (4 saat əvvəl)

Maqa cavab verdi - Aliexpress Dispute (4 saat əvvəl)

Sahin2000 cavab verdi - Aliexpress Dispute (18 saat əvvəl)

Ramazan cavab verdi - Logo hazırlayaraq və ya Video Edit edərək pul qazana biləcəyim sayt var ? (18 saat əvvəl)

Maqa cavab verdi - Aliexpress Dispute (19 saat əvvəl)

H.Arif cavab verdi - İnternetdə avtomatik "mb" çıxılmasını dayandırmaq (23 saat əvvəl)

E. Hacı cavab verdi - Topaz mərc şirkəti (1 gün əvvəl)

Şükür Hüseynov cavab verdi - İnternetdə avtomatik "mb" çıxılmasını dayandırmaq (1 gün əvvəl)

sadiq.ziyadov cavab verdi - Vergi ve Sosial (1 gün əvvəl)

E. Hacı cavab verdi - Vergi ve Sosial (1 gün əvvəl)

sadiq.ziyadov cavab verdi - Vergi ve Sosial (1 gün əvvəl)

E. Hacı cavab verdi - Vergi ve Sosial (1 gün əvvəl)

Software Developer - 606 xal

E. Hacı - 598 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 423 xal

Ruslan Butdayev - 328 xal

Maqa - 300 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Sistemə daxil olmuş 21301 sualdan 93%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2019