2012-05-03 26 views
5

Tôi muốn chuyển đổi giá trị thả nổi 8 chữ số sau dấu phẩy động thành 2 chữ số sau dấu phẩy động ..muốn hiển thị chính xác 2 chữ số sau dấu phẩy động

Ví dụ: $ a = 2.200000 ==> 2.20

Tôi đang sử dụng hàm tròn của php. Vấn đề với vòng là nếu số của tôi là 2.200000 nó chuyển đổi số trong 2.2. Tôi muốn đầu ra là 2.20

Có thể ai đề xuất cách có thể?

đang thực

$price = sprintf ("%.2f", round(($opt->price_value + ($opt->price_value * $this->row->prices[0]->taxes[0]->tax_rate)), 2)); 

tôi muốn ra đặt như thế nào nếu số nổi của tôi là 2,2000000. sau đó nó sẽ trả lại cho tôi 2,20. nhưng ngay bây giờ nó đang trở lại tôi 2.2

Trả lời

17

này làm những gì tôi nghĩ rằng bạn đang yêu cầu:

<?php 

$a = 2.20032324; 
$f = sprintf ("%.2f", $a); 
echo "$a rounded to 2 decimal places is '$f'\n"; 

$a = 2.2000000; 
$f = sprintf ("%.2f", $a); 
echo "$a rounded to 2 decimal places is '$f'\n"; 

kết quả:

[[email protected] ~]$ php t.php 
2.20032324 rounded to 2 decimal places is '2.20' 
2.2 rounded to 2 decimal places is '2.20' 

tôi bổ sung thêm hai trường hợp thử nghiệm

+0

ra đi vẫn không thích hợp .. –

+0

hãy để tôi đặt một số mã cho bạn .. –

+0

@SLAYER: Bạn nên loại bỏ các 'tròn() 'hoạt động từ tính toán của bạn. Định dạng '.2f' thực hiện tất cả những gì bạn muốn. – wallyk

-1

Thử dưới đây mã, Bạn có thể nhận được kết quả của bạn.

 $a = 2.200000; 
     echo number_format((float)$a,2,'.',''); 
-1

thử $val = round($a * 100)/100;

Các vấn đề liên quan