gpt4 book ai didi

javascript - 在渲染之前格式化数据

转载 作者:行者123 更新时间:2023-11-29 14:43:54 25 4
gpt4 key购买 nike

我正在 View 中显示一些数据,但我需要先格式化,我正在做类似的事情

val.toFixed(2) 没关系,它可以工作,但问题是 val 有时会带有字母,而 toFixed(2) 没有考虑到这一点,所以没有显示这些字母。

所以我需要考虑字母和数字的东西,字母不必改变,只有像 234235.345345435 这样的数字,显然我需要这样的 234235.34

这是我使用的一些代码

<table>
<tr>
<th ng-repeat='header in headers'>{{header.th}}</th>
</tr>
<tr>
<td ng-repeat='data in headers'>
<div ng-repeat='inner in data.td'>
<span ng-repeat='(prop, val) in inner'>{{val.toFixed(2)}}</span>
</div>
</td>
</tr>
</table>

在 Controller 中

$scope.LoadMyJson = function() {
for (var s in myJson){
$scope.data.push(s);
if ($scope.headers.length < 1)
for (var prop in myJson[s]){
prop.data = [];
$scope.headers.push({th:prop, td: []});
}
}
for (var s in $scope.data){
for (var prop in $scope.headers){
var header = $scope.headers[prop].th;
var data = myJson[$scope.data[s]][header];
$scope.headers[prop].td.push(data);
console.log($scope.headers[prop].td);
}
}
};

我准备了this Fiddle

现在的方式是正确显示表格,但如您所见,表格缺少 name,这是因为 toFixed 方法。

那么,我能做什么呢?

最佳答案

创建自定义 filter在您的模板上使用。

<table>
<tr>
<th ng-repeat='header in headers'>{{header.th}}</th>
</tr>
<tr>
<td ng-repeat='data in headers'>
<div ng-repeat='inner in data.td'>
<span ng-repeat='(prop, val) in inner'>{{val|formatValue}}</span>
</div>
</td>
</tr>
</table>


angular.module('whatever').filter('formatValue', function () {
return function (value) {
if (isNaN(parseFloat(value))) {
return value;
}

return parseFloat(value).toFixed(2);
}
});

关于javascript - 在渲染之前格式化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34995509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com