1

ここに画像の説明を入力

こんにちはみんな、ここでちょっとした助けが必要です。右側の緑の数字は文字列です。それらを数字に変更するにはどうすればよいですか?さらに、小数点以下 2 桁にする必要もあります。どの機能を使用しますか?? 以下の方法を試しましたが、出力は0でした。回答は大歓迎です。

$profitText = $profitText*1;
$profitText = (float)$profitText;
round($profitText,2); 
number_format($profitText, 2);

編集済み わかりました、この変数の導出は本当に複雑です。すべてのステップには機能的な目的がありますが、派生はここにあります。一番下の最後の ProfitText の後、これが文字列になっていることに気付きました。どうしてこんなことに?どうすれば修正できますか?

 $offeropen=$row['offerprice'];//1.3334
      $pips=$offerpricepl-$offeropen;//difference btw prices , eg. 0.0023
      $closedb=$offerpricepl;// nothing
      $pips1=round($pips, 6);// round to 6 decimal points
      $pips2 = str_replace('.', '', $pips1);// remove decimal
        if ($pips2<0)
      {
        $pips2 = str_replace('-', '', $pips2);// methodology for adjusting figures and negative values back
        $pips2 = ltrim($pips2, '0');
        $pips2 = -1 * abs($pips2);
      }
      else {
        $pips2 = ltrim($pips2, '0');// for triming 0 on the left
      }
      $pips3=$pips2/$minipipskiller;// methodology
    $ticksize= "0.0001";// FOR PROFIT AND LOSS
      $lot1 = "100000";
      $sizecalc=$row['size'] * $lot1;

        if ($row['type']=="buy")
      { 
        $profitandloss=$sizecalc*$ticksize*$pips3; //per TRADE
      }
      if ($row['type']=="sell")
      {
        $profitandloss=$sizecalc*$ticksize*$pips3; //per TRADE
      }

      $zero= '0';

      if($profitandloss<$zero) {
            $profitText = "<div style=\"color: red;\">$profitandloss</div>";
        } elseif ($profitandloss>$zero) {
            $profitText = "<div style=\"color: green;\">$profitandloss</div>";
        }
        // for profit and loss counting

        $profitText=ltrim($profitText,'0');
4

6 に答える 6

1

私はあなたが必要だと思います

floatval(mixed var)

http://www.php.net/manual/en/function.floatval.php

$profit = round(floatval(trim($profitText)), 2);

証明: http://codepad.org/jFTqhUIk

于 2013-08-20T16:27:30.393 に答える
1

問題は次のとおりです。

$profitText = "<div style=\"color: red;\">$profitandloss</div>";

あなたは$profitText数字に変えようとしています。これは実際には HTML の文字列であり、PHP はそれをどうするべきかを理解できないため、数値にキャストすると 0 が返されます。

解決:

$profitandloss代わりに使用

于 2013-08-20T17:14:47.417 に答える