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