Ben 0,000021 olarak belirtildiğinde Neden PHP, bilimsel gösterimde benim numaram yazdırıyor?

5 Cevap php

PHP Ben aşağıdaki kodu var:

<?PHP
  $var = .000021;
  echo $var;
?>

çıkış 2.1e-5'tir!

Neden? Bu 0,000021 basmalı

5 Cevap

0.000021 olarak 2.1e-5 is aynı sayıda. Yani 0,001 aşağıda numaralarını yazdırır nasıl. Belirli bir formatta istiyorsanız printf() kullanın.

Eğer 2.1E-5 sözdizimi ile aşina değilseniz Edit, bunun 2.1 × 10 için kısaltmadır bilmeli -5. Çoğu programlama dilleri bilimsel gösterimde numaralarını temsil nasıl.

Kullan number_format() sonra ne konum almak için:

print number_format($var, 5);

Ayrıca kontrol sprintf()

Genel olarak, bir sayı, bir sayı değil, bir dize, ve bu herhangi bir programlama dili bir numarası olarak nitelendirir anlamına gelir. Bu nedenle, tek başına sayı (.000021 yerine 2.1e-5 kullanarak) gibi herhangi bir biçimi anlamına gelmez. Bu (0.000021 gibi) veya numaraları listeleri hizalama lider sıfırlı bir sayı gösteren farklı bir şey değildir. Bu, herhangi bir programlama dilinde bulabilirsiniz genel bir konudur: belirli bir biçimi istiyorsanız programlama dilinin biçimi fonksiyonlarını kullanarak, bunu belirtmek gerekir.

Tabii ki, dize olarak sayısını belirlemek ve gerektiğinde gerçek bir sayıya dönüştürmek sürece. Bazı diller örtülü yapabilirsiniz.

Eğer beklediğiniz gibi sayısını görmek istiyorsanız number_format veya sprintf kullanın.

echo sprintf('%f', $var);
echo number_format($var, 6);
<?php
$var = .000021;
echo $var; // 2.1E-5
echo "\n";
$var = '.000021';
echo $var; // .000021

Dizge bağlamında kullanıldığında otomatik döküm önlemek için bir dize olarak sayısını tanımlayın (yani eko)