Решение CodingFreak, вероятно, работает, и я рекомендую его использовать, но вот еще одно решение, если вы не уверены в использовании директивы Angular Pipe.
В вашем файле component.ts
введите службу CurrencyPipe:
constructor(public cp: CurrencyPipe) { }
Затем в вашем файле app.module.ts
или component.ts
обязательно включите службу CurrencyPipe в своих провайдерах:
providers: [ CurrencyPipe ]
Наконец, вы можете использовать трубы следующим образом:
formatNumber = (row, columnfield, value, defaulthtml, columnproperties,rowdata) =>
{
return '$' + this.cp.transform(value, "USD") + '';
};
Для получения дополнительных параметров перейдите к Угловая документация .
у вас есть 2 варианта:
x
вместе с d
Изменение входного аргумента может укусить Вы позже, когда вы хотите проверить оригинальную версию x
или что-то уже имеет ссылку на оригинал, и вы изменили его.
Я бы предложил это (измените итерационную переменную в понимании, есть другие буквы там, используйте их):
def compress_vector(x):
assert type(x) is list
x = [x for value in x if value]
d = {'inds': [v for v, k in enumerate(x)], 'vals': x}
return x,d
затем:
x,d = compress_vector(x)
Чтобы изменить [116 ] использование на месте назначение среза , которое не создает новую ссылку, но использует исходную ссылку:
def compress_vector(x):
assert type(x) is list
x[:] = [x for value in x if value]
return {'inds': [v for v, k in enumerate(x)], 'vals': x}