2010-04-16 55 views
6

Có cách nào để truy lục giá trị float cực đại cho php. Akin đến FLT_MAX hoặc std::numeric_limits<float>::max() bằng C/C++?Giá trị float cực đại trong php

Tôi đang sử dụng một cái gì đó như sau:

$minimumCost = MAXIMUM_FLOAT_VALUE??; 

foreach ($objects as $object) 
{ 
    $cost = $object->CalculateCost(); 
    if ($cost < $minimumCost) 
    { 
     $minimumCost = $cost; 
    } 
} 

(sử dụng php 5.2)

Trả lời

20

Tối đa float là nền tảng phụ thuộc, và mặc dù nó có thể hữu ích để có được nó, có vẻ không có cách nào (đơn giản) để có được nó. Tuy nhiên, bạn có thể sử dụng hằng số INF (vô hạn), sẽ lớn hơn bất kỳ giá trị nào khác mà bạn có thể đặt trong một loại số, nếu mục tiêu chỉ có giá trị giữ chỗ rất lớn.

+0

Đúng, mục tiêu chỉ là có giá trị lớn. Cảm ơn;) –

+0

Nhưng chắc chắn khi $ minimumCost là INF, nếu ($ cost <$ minimumCost) giống như (true), và do đó vô nghĩa. – Kzqai

+0

@Kzqai chính xác là những gì bạn muốn trong một số trường hợp, chẳng hạn như nếu bạn muốn tìm chi phí thấp nhất trong số các mục X. Sau đó, nó khá dễ dàng để sử dụng nếu trong một foreach ($ giá như $ chi phí) để tìm giá trị thấp nhất. Nếu không, bạn phải làm một cái gì đó như $ minimumCost = $ price [0] và sau đó lặp lại sử dụng cho ($ i = 1; $ i David

-2

Bạn có thể sử dụng hằng số được xác định trước PHP_FLOAT_MAX, tôi tin tưởng.

+2

Yêu cầu PHP 7.2+ 'PHP_FLOAT_MAX' (phao) Số dấu phẩy động lớn nhất. Có sẵn dưới dạng 'PHP 7.2.0'. nguồn: http://php.net/manual/en/reserved.constants.php – Jonathan

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