html中的角度计算百分比

Abh*_*hek 12 javascript number-formatting angularjs angularjs-interpolate

Angular noob在这里!我试图在我的HTML中显示一个百分比值,如下所示:

<td> {{ ((myvalue/totalvalue)*100) }}%</td>
Run Code Online (Sandbox Code Playgroud)

它工作但有时它给出一个非常长的小数,看起来很奇怪.如何将其四舍五入后的2位数?有更好的方法吗?

spi*_*k3s 27

您可以使用过滤器,如下面的jeffjohnson9046

过滤器假设输入将是十进制形式(即17%为0.17).

myApp.filter('percentage', ['$filter', function ($filter) {
  return function (input, decimals) {
    return $filter('number')(input * 100, decimals) + '%';
  };
}]);
Run Code Online (Sandbox Code Playgroud)

用法:

<tr ng-repeat="i in items">
   <td>{{i.statistic | percentage:2}}</td>
</tr>
Run Code Online (Sandbox Code Playgroud)


Exp*_*lls 18

你可以使用的toFixed方法Number.

((myValue/totalValue)*100).toFixed(2)
Run Code Online (Sandbox Code Playgroud)


Mat*_*att 7

为此,我经常使用内置的"数字"过滤器 ;

<span>{{myPercentage | number}}</span>
Run Code Online (Sandbox Code Playgroud)

2位小数:

<span>{{myPercentage | number:2}}</span>
Run Code Online (Sandbox Code Playgroud)

小数点后0;

<span>{{myPercentage | number:0}}</span>
Run Code Online (Sandbox Code Playgroud)