我正在尝试获取我的值,这些值是根据查询参数生成的,以及数据库中与之匹配的内容。输出的数字是十进制的,我需要能够将它们限制在小数点后两位。所以我需要能够一次获得所有的值,然后将文本更改为小数点后两位。但是,有时,如果数据库中没有任何匹配的数据,则不会填充所有标签。
像这里的这个查询一样返回(这是id="decimal"的console.log(
<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>
并不是每个人都被填满了。
如何从<td的>并将其转换为小数点后两位?
这是HTML。每一个都是一个查询,我用手柄输出它,所以有时数据库不会有特定项目的值。
<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>