0

これは些細な操作ですが、いくつかのトリッキーな点が明らかになりました。私はPHPに文字列を持っています'234.00'. それを負の数に変換し、できれば最後に文字列を取得したい。したがって、テストケース

'234.00'  ==> '-234.00'
'-234.00' ==> '234.00'
'0.00'    ==> '0.00'

元のコードは

$signReversed = $stringNumber * -1.0

しかし、他のコードとの一貫性のために文字列が本当に必要なので、これには問題があります。だから私は試しました

$signReversed = strval($stringNumber * -1.0)

しかし、これは最後のテスト ケースで失敗し'-0'ます。文字列として負のゼロを取得するためです。

これを行うための最良の方法に関する提案はありますか?

4

5 に答える 5

1

これを試してください:

$stringVal = "234.00";
$negativeStringVal = strval(floatval($stringVal) * -1);

あなたの問題は、PHPが数値を変換しようとするintが、小数のために失敗することだと思います。

編集: PHP フィドル: http://phpfiddle.org/main/code/iay-rsc

于 2013-08-16T18:27:28.113 に答える