제 프론트 페이지에 가격을 표시하고 싶습니다. 10000 표시 : 10,000 PHP의 숫자 형식
- 입력 한 가격이며, 10,000.01
나는 경우 다음 코드를 사용하고 있습니다
echo number_format ($price,2,'.',',');
그러나 결과는 이러한 방식으로 표시됩니다.
체결 가격 : 10000 디스플레이 : 10,000.00
나에게이 문제
제 프론트 페이지에 가격을 표시하고 싶습니다. 10000 표시 : 10,000 PHP의 숫자 형식
나는 경우 다음 코드를 사용하고 있습니다
echo number_format ($price,2,'.',',');
그러나 결과는 이러한 방식으로 표시됩니다.
체결 가격 : 10000 디스플레이 : 10,000.00
나에게이 문제
money_format()
라는 PHP에서 함수가 있습니다를 해결하는 데 도움이 바랍니다.
http://php.net/manual/en/function.money-format.php에에서보세요.
@barryhunter가 유효하고 다음 사항이 작동하지 않습니다.
echo rtrim(number_format($price,2,'.',','),'0.');
그러나이 작업을 수행합니다
trim(trim(number_format($price,2,'.',','),'0'),'.');
봐 : 당신은 2 decimial 점의 수를 설정 한
<?php
$a=array('10000.00','10000.10','10000.01');
foreach ($a as $price)
{
echo $price.' - '.rtrim(rtrim(number_format($price,2,'.',','),'0'),'.')."\n";
}
?>
$> php -f t.php
10000.00 - 10,000
10000.10 - 10,000.1
10000.01 - 10,000.01
작동하지 않으면 실제 숫자에서 끝 0을 제거하므로 $ price = 10000; 그것은 "10"을 출력합니다. 원하는 것이 아닙니다! – barryhunter
@barryhunter - 좋은 지적입니다. 내 사과. 내 대답을 무시하십시오. 그거 아니야! – DaveyBoy
확인. 나는 다른 생각을하고 나의 이전의 대답을 분류했다. @ barryhunter에 대한 명성 - 감사합니다! – DaveyBoy
는 10,000.00이 왜 그렇게 즉.
echo number_format ($price,1,'.',',');
을 또한 당신이 돈을 값으로 작업하는 경우 money_format를 사용하는 것이 좋습니다 :이 방법으로 사용자에게보십시오.
OP는 '10,000.01'에 2 개의 소수점과 '10,000.1'에 1 개의 소수점을 원합니다. – flowfree
개인적으로 나는 10,000.1 그냥 나에게 이상한 보이는 가격을 표시
echo number_format($price,floor($price)==$price?0:2,'.',',');
할 것입니다.
하지만 당신이 정말로 댓글에 답글 달기에서
$bits = explode('.',$price);
echo number_format($price,strlen($bits[1]),'.',',');
(편집), 그것은 나를 위해 작동해야하는 경우 ...
<?php
$a=array(10000.00,10000.10,10000.01);
foreach ($a as $price)
{
$bits = explode('.',$price);
echo $price.' - '.number_format($price,strlen($bits[1]),'.',',')."\n";
}
?>
$ php t.php
10000 - 10,000
10000.1 - 10,000.1
10000.01 - 10,000.01
burryhunter. 답장을 보내 주셔서 감사합니다. 하지만 불행히도 그것은 10000.01 또는 10000.1에 대해 작동하지 않습니다 –
나를 위해 단어를 표시하는 회신을 업데이 트 ... – barryhunter
방법이 도움이 money_format합니까? 그것은 가변 십진법을 고려하지 않습니다. 형식 지정자에 원하는 수를 입력해야합니다. – barryhunter