首页 > 解决方案 > 带有html的括号中的回声子字符串问题

问题描述

<?php 
  echo '                                                        <tr>
                                                                <td>John Doe</td>
                                                                <td>34</td>
                                                                <td>44</td>
                                                                <td>' .$ks1. '</td>
                                                                <td>' .$ks1. '</td>
                                                                <td>' . ($ks2 - $ks1) . '</td>
                                                                <td><div class="progress progress-lg">
    <div class="progress-bar" data-progress="' . ($ks1*100 / $ks2) . '"></div>
</div></td>'; ?>

当我运行此页面时,进度条显示 75.75757575757。我想获得前 4 位数字。我尝试添加 substr 但它给出了错误。

<div class="progress-bar" data-progress="'substr(. ($ks2*100 / $ks1) .,1,4);'"></div>
</div></td>'; ?>

我该如何解决?谢谢。

标签: php

解决方案


在这种情况下,我会使用round() :

<?php 
  echo '<tr>
        <td>John Doe</td>
        <td>34</td>
        <td>44</td>
        <td>' .$ks1. '</td>
        <td>' .$ks1. '</td>
        <td>' . ($ks2 - $ks1) . '</td>
        <td><div class="progress progress-lg">
                <div class="progress-bar" data-progress="' . round(($ks1 * 100 / $ks2), 2) . '"></div>
            </div></td>'; 
?>

由于四舍五入,这将返回 75.76。如果您仍然想要 75.75 您可以使用substr(),但这仅在数字介于 10 和 99 之间时才有效,而round()始终返回 2 个小数(最多)。


推荐阅读