PHP, önleyin önde gelen sıfırları kaldırmasını

7 Cevap php

Ben 5-6,4 sayılar bir dizi var ama sayıları ayak ve inç ile ilgili ve ben hesaplanması için onları kullanıyorum.

Ben 5,10 kullanmak için geldim zaman sıfır kaldırır ve 5.1 olarak sanki aynı çıkışı var.

PHP 0 çıkarmadan önlemek için yine de var mı. Bunu varsayılan döküm çeşit yok sanırım.

Şimdiden teşekkürler

7 Cevap

Ne demek "Eğer 5 metre ve 10 inç", sen can't represent that with an integer (or float) - Gördüğünüz gibi, sen büyük sorunlar bu şekilde kaçıyorum.

Bilgisayar (ille ne amaçladığınız) ondan sordum tam olarak ne yapıyor. Örneğin Google bana söyler 5.8 metre == biraz daha fazla 5 metre 8 inç (== 68 inç) 69,6 inç. Ancak, (float) 5.10 === (float) 5.1 === (float) 5,100000 (beş artı onda biri).

Ayak ve inç ondalık (IIRC, 1 ayak = 12 inç, bu nedenle 5 metre 1 inç birbirlerine temiz dönüştürülebilir değil gibi = - US ölçme sistemi için, bir int daha karmaşık bir şey gerekir 5.083 metre, artı yuvarlama hatası).

Örneğin check out Zend_Measure ; Eğer farklı ölçüm standartları ile çalışma olanağı sağlar PHP sınıfları bir koleksiyon bulunuyor, ben ABD / İmparatorluk sistemi için destek çok olduğunu düşünüyorum.

EDIT: if everything else fails, you could convert both numbers to inches - örneğin Sizinle çalışmak için güzel bir tamsayı 5'10 "== (5 * 12) + 10 == 70 inç.

Bu tür ayak ve inç ya da zaman gibi olmayan ondalık birimlerini kullanırken, ben dahili değerleri izlemek ve sonra çıkış amaçlı ayak ve inç dönüştürmek için (saniye veya inç) ile ilgileniyorum ben küçük birimi kullanmak ister. Ben bu amaç için ondalık sayılar adapte etmeye daha kolay bu bulacaksınız düşünüyorum.

metrik dönüştürmek

Sen kullanarak deneyebilirsiniz printf

$a = 5.10;

echo $a;            // prints 5.1

printf("%.2f",$a);  // prints 5.10

Evet, bu kadar Settype

settype($bar, "string");  // $bar is now "1" (string)

Bekleyin. 5.10 0 a leading nasıl sıfır mı?

Ben okuma comp başarısız. printf / sprintf ne olursa olsun firar biri sıfır olup 2 önemli figür, zorlama bir durumda daha iyi çalışacak.

Bu değerler metotunun yere kod yüzen dönüştürülür. Siz bu satırı bulup dize türü tutmak için yeniden yazmak gerekir. Örneğin, matematiksel ifadelerde bu değerleri kullanıyor musunuz?