1

これを考えると:

        <span ng-repeat="extra in extras">
            <br>
            <input type="checkbox" ng-click="addExtra()"  value="{{extra.id}}" >{{extra.name}} - <strong>{{extra.real_price}}</strong>
        </span>

{{extra.real_price}} がフィルターを使用して数値のみを出力するようにするにはどうすればよいですか?

例: extra.real_price が「from 400€」で、「400」に変換

4

1 に答える 1

2

正規表現を使用して、数値以外のすべての文字を取り除くことができます。

app.filter('onlyNumbers', function () {
    return function (item) {
      return item.replace(/[^\d|^,|^.]/g, '');
    }
  });

正規表現を読み取ることができます: 数字、コンマ、ポイント以外のすべての文字を置き換えます。

通貨の値を使用しているため、ポイントとコンマの両方が受け入れられる値である必要があることに注意してください。

以下は、使用方法と出力の例です。

{{ '23345€' | onlyNumbers }}       => 23345
{{ '$23345' | onlyNumbers }}       => 23345
{{ '$23345.00' | onlyNumbers }}    => 23345.00
{{ '23345,00 €' | onlyNumbers }}   => 23345,00
于 2014-11-13T11:11:16.997 に答える