如何在不丢失浮点精度的情况下填充 JSON 数据

How to populate JSON data without losing floating precision

本文关键字:精度 情况下 填充 数据 JSON      更新时间:2023-09-26

我有一个JSON文件。在使用 ng-repeat 将该文件填充到表中时,我没有获得小数点后的零。

例如,我有积分6.0.它只显示6而不是零。为什么会这样?如何解决这个问题?这个零对我来说非常重要,因为我用它来过滤数据。好心有人建议我如何解决这个问题。

<tr ng-repeat="x in filtered=(Results | filter: strSearch)">
  <td>#{{$index + 1}}</td>
  <td>{{ x.Name }}</td>
  <td>{{x.DeadLines.Fall}}</td>
  <td>{{x.GRE}}</td>
  <td>{{x.IELTS}}</td>
</tr>

这是我编写的代码。在Ielts中,6.0 显示为 6。但我想显示为 6.0 本身。但是当我使用 6.01 或 6.1 时,它的显示。

$scope.Results = [{
      "Address": "https://grad.ucla.edu/gasaa/deptinfo/deptinfointro.asp",
      "ApplicationFee": 110,
      "DeadlineLink": "https://grad.ucla.edu/gasaa/deptinfo/deptinfointro.asp",
      "GPA": 3.0,
      "GRE": 320,
      "GRE_ETSCode": 4837,
      "IELTS": 6.0;

这是我的示例 JSON 文件。

您可以使用

{{variableName | number:precision}} .

也不确定,但在解析变量时,6.00将被视为整数而不是浮点数,因此它表示为6而不是6.00

JSFiddle.

function myCtrl($scope){
	$scope.number = [];
  $scope.number.push(6.00);
  
  for(var i=0; i<5; i++){
  	$scope.number.push(Math.random());
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js"></script>
<div ng-app>
  <div ng-controller="myCtrl">
    <h3>No formatting</h3>
    <ul ng-repeat="n in number">
      <li>{{n}}</li>
    </ul>
    <h3>Formatting </h3>
    <ul ng-repeat="n in number">
      <li>{{n|number:2}}</li>
    </ul>
  </div>
</div>