在数字右侧显示减号

Display minus sign on the right side of the number

我混合了正数和负数。例如:

$array = array(4, -79, 5.56, -5.000.533, 96);

现在我想把它们都显示出来,但是我想在数字的右边显示减号-

所以我要找的结果是:

4 
79- 
5.56 
5.000.533- 
96

如何在 php 中执行此操作?

如果你想保持值的负性,那么你可以使用 CSS:

获得相同的结果
$number = -4126;
echo '<span style="display: inline-block; direction: rtl;">'.$number.'</span>';

浏览结果:

4126-

编辑 1(编辑评论):

如果您只想显示它的价值,您可以执行以下操作:

echo $number > 0 ? $number : abs($number).'-';

编辑 2(更新后的问题):

$array = array(4, -79, 5.56, '-5000.533', 96);

foreach($array as $number) {
    echo $number > 0 ? $number.'<br />' : abs($number).'-<br />';
}

结果

4
79-
5.56
5000.533-
96

如果您要格式化大量数字,最好使用 NumberFormatter class,这样它可以按照您想要的方式处理正数和负数(假设您不想显示 +)。

使用您添加的数组:

$onFormatter = new NumberFormatter('en_US', NumberFormatter::DECIMAL);
$onFormatter->setTextAttribute(NumberFormatter::NEGATIVE_PREFIX, "");
$onFormatter->setTextAttribute(NumberFormatter::NEGATIVE_SUFFIX, "-");

$array = array(4, -79, 5.56, -5000533, 96);

foreach($array as $f) {
    echo $onFormatter->format($f) . "\n";
}

输出:

4
79-
5.56
5,000,533-
96