如何从 <td> 获取文本,然后将其转换为小数

How to get text from <td> and then convert it to a decimal

我正在尝试获取我的值,这些值是根据查询参数以及数据库中与之匹配的参数生成的。输出的数字是小数形式,我需要能够将它们限制在小数点后两位。所以我需要能够一次获取所有值,然后将文本更改为两位小数。但是,有时如果数据库中没有任何匹配的数据,则不会填充所有标签。

在此处点赞此查询 returns(这是一个 console.log of id="decimal")

                                             <tr id="decimal">
                                                <th scope="row">%</th>
                                                <td>0.07456508908031056</td>
                                                <td>0.03188519669899027</td>
                                                <td>0.14962427856611382</td>
                                                <td></td>
                                                <td></td>
                                                <td></td>
                                                <td>0.12195121951219512</td>
                                                <td></td>
                                            </tr>

并不是每个人都满了。

如何从 获取值(如果有)并将其转换为两位小数?

这是HTML。每个都是一个查询,我用 handlebars 输出它,所以有时数据库不会有某些项目的值。

                                   <table class="table text-light text-end">
                                        <thead>
                                            <tr>
                                                <th></th>
                                                <th scope="col">CHW</th>
                                                <th scope="col">ELE</th>
                                                <th scope="col">STM</th>
                                                <th scope="col">HHW</th>
                                                <th scope="col">GAS</th>
                                                <th scope="col">Dom Water</th>
                                                <th scope="col">Peak CHW</th>
                                                <th scope="col">Maintenance</th>
                                                <th scope="col">Total</th>
                                                <th scope="col">Miscuellaneous</th>
                                                <th scope="col">Ann Cash Flow</th>
                                                <th scope="col">Payback</th>
                                                <th scope="col">NPV</th>
                                            </tr>
                                        </thead>
                                        <tbody class="text-end">
                                            <tr id="decimal">
                                                <th scope="row">%</th>
                                                {{#with chw}}
                                                <td>{{savings_percent}}</td>
                                                {{else}}
                                                <td></td>
                                                {{/with}}
                                                {{#with ele}}
                                                <td>{{savings_percent}}</td>
                                                {{else}}
                                                <td></td>
                                                {{/with}}
                                                {{#with stm}}
                                                <td>{{savings_percent}}</td>
                                                {{/with}}
                                                {{#with hhw}}
                                                <td>{{savings_percent}}</td>
                                                {{else}}
                                                <td></td>
                                                {{/with}}
                                                {{#with gas}}
                                                <td>{{savings_percent}}</td>
                                                {{else}}
                                                <td></td>
                                                {{/with}}
                                                {{#with water}}
                                                <td>{{savings_percent}}</td>
                                                {{else}}
                                                <td></td>
                                                {{/with}}
                                                {{#with peakchw}}
                                                <td>{{savings_percent}}</td>
                                                {{else}}
                                                <td></td>
                                                {{/with}}
                                                {{#with labor}}
                                                <td>{{savings_percent}}</td>
                                                {{else}}
                                                <td></td>
                                                {{/with}}
                                            </tr>
                                         </table>

扩展我之前使用 text(function) 给你的答案只是对当前文本做一些检查。该方法将遍历所有匹配的选择器并分别处理每个实例

类似于:

$('td').text(function(i, curr) {
  let num = +curr.trim();
  return !curr || isNaN(num) ? curr : num.toFixed(2)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table border="1">
  <tr>
    <th scope="row">%</th>
    <td>0.07456508908031056</td>
    <td>0.03188519669899027</td>
    <td>0.14962427856611382</td>
    <td></td>
    <td></td>
    <td></td>
    <td>0.12195121951219512</td>
    <td></td>
  </tr>
</table>