-1
マイナス記号の前にマイナス記号を、プラス記号の前にプラス記号を入れようとしています。私はsprintfを使用しています。PHP:sprintf - プラス記号なしのゼロ
sprintf("%+d",$voteCount)
これはゼロを除いて問題なく動作しています。私は0の前にプラス記号が欲しくない。 すべての正の数に対してプラス記号を表示するにはどうすればよいのですが、ゼロの記号はありませんか?
マイナス記号の前にマイナス記号を、プラス記号の前にプラス記号を入れようとしています。私はsprintfを使用しています。PHP:sprintf - プラス記号なしのゼロ
sprintf("%+d",$voteCount)
これはゼロを除いて問題なく動作しています。私は0の前にプラス記号が欲しくない。 すべての正の数に対してプラス記号を表示するにはどうすればよいのですが、ゼロの記号はありませんか?
これを達成するための直接的な方法はありません。%dは、何が起こったとしても正と負の符号のみを考慮します。
しかし、はい、次のようにこれを達成するための別の方法があり、
echo ($voteCount === 0 ? 0 : sprintf("%+d",$voteCount));
これはあなたの問題を解決する必要があります。
EDIT(AliveToDieによって示唆されるように):
あなたはgmp_signを使用して同じことを行うことができます。
参考例です。同じのために
// positive
echo gmp_sign("500") . "\n";
// negative
echo gmp_sign("-500") . "\n";
// zero
echo gmp_sign("0") . "\n";
、あなたはそれが重複していないphp.iniの
extension=php_gmp.so
に拡張子を有効にする必要があります!!!!再開してください。質問の最後のパラを見てください。 – rahulsm
あなたの問題の代替ソリューションはここにあります。* echo($ voteCount === 0?0:sprintf( "%+ d"、$ voteCount)); * – rahulsm
使用: - http://php.net/ php.iniファイル内の 'extension = php_gmp.so'を無効にしてmanual/en/function.gmp-sign.phpを編集してください –