Php virgülden bir sayıyı bölmek

3 Cevap php

Nasıl php virgülden bir numara bölmek mi?

Ben $ num = 15/4 var; Hangi 3.75 içine $ num dönüşür. Ben 3 ve 75 bölümlerini bölmek istiyorum, bu yüzden $ int = 3 ve $ Aralık = 75 Benim çalışmayan kod olacaktır.:

$num = 15/4; // or $num = 3.75;
list($int, $dec) = split('.', $num);

ama o boş $ int ve $ dec sonuçlanır.

Şimdiden teşekkürler.

3 Cevap

Numara size explode ondalık gösterimi varsa, hassasiyet kaybedersiniz. Eğer sakıncası yoksa, bu yüzden (bu metinsel gösterimi için ok) olması. Dikkate yerel al! Biz Belçikalılar virgül (en azından-olmayan programlama olanları :) kullanın.

: Eğer (örneğin hesaplamalar için) do akıl, sen floor işlevini kullanabilirsiniz eğer

$num = 15/4
$intpart = floor( $num )    // results in 3
$fraction = $num - $intpart // results in 0.75

Not: Bu pozitif sayılar içindir. Negatif sayılar için size işaretini tersine olumlu bir yaklaşım kullanmak, ve int kısmının işaretini reinvert edebilirsiniz.

Try explode

list($int,$dec)=explode('.', $num);

Eğer gerçekten bir regex tabanlı bölünmüş kullanmaya gerek yok gibi. {[(0)}], bir olarak sizin için çalışma değildi '.' karakteri değişmez eşleşmeyi sağlamak için kaçan gerekir.

$int = $num > 0 ? floor($num) : ceil($num);
$dec = $num - $int;

Eğer $num (diğer yanıtlar gibi) negatif olduğunda $dec pozitif olmak istiyorsanız bunu yapabilirsiniz:

$dec = abs($num - $int);

edit I fixed original after Paul Dixon informed me it would be broken by negative numbers.