2017-10-23 7 views
0

OK 음수를 표시 말할 수 있습니다 개방 = 1.23450 & 가까이 = 1.23400계산 값 & I는 & 값 2 COLS을 가지고있는 DB 테이블에 있도록 (해당되는 경우)

지금 여기에 내가 애 쓰고 PHP 코드는 그냥 단순히 값 0을 반환하지만 계산

이 -0.0005 의 값을 반환해야합니다
$pips = abs($value['close'] - $value['open'])*1; 

에 사용할 나는 $의 주사위를 에코 때

+0

이 값을 123450과 123400으로 저장하는 것이 더 좋을 것이라고 생각합니다. 부동 소수점 산술은 정확한 결과를 산출하지 못합니다. – Tarun

+0

은 소수점 이하 자릿수입니다 (5 자리?) – Tarun

+0

소수점이 필요한 정확한 값을 저장하므로 및 고정 소수점 이하 자리수는 * 그냥 확인해야합니다. –

답변

0

소수점 이하 자리의 수를 고정하는 경우가 곱해야하므로 숫자의 절대 양의 값을 반환합니다 (예를 들어 5 자리 정밀도) 당신은 복근을 사용하는

$pips = abs($value['close']*100000 - $value['open']*100000); 
$pips = $pips/100000; 
+0

코드가 제공합니다. 나 mysqli_result 타입의 객체를 배열로 사용할 수 없다. $ pips = abs ($ value [ 'close'] * 100000 - $ value [ 'open'] * 100000); // This line –

+0

@ChrisYates 아니요. 저는 단순히 $ value [ 'close']와 $ value [ 'open']이 유효한 부동 소수점 값이라고 가정합니다. 내가 어떻게 MySQL의 쿼리에서 그들을 받고 알아. – Tarun

+0

그냥 간단한 선택 * 순간에 테스트 나는 그들을 float로 저장했습니다 $ query = mysqli_query ($ con, "SELECT * FROM'prices'"); $ 값 = mysqli_fetch_assoc ($ 쿼리); –

0

() "-1"(마이너스) 제안 된 부동 소수점은 PHP에서 그렇게 좋지 않으므로 $pips을 전체 숫자로 먼저 계산 한 다음 그 지점 뒤의 자릿수에 따라 나누는 것이 더 좋습니다.