我在angularJs(1.x)应用程序中使用Numeral.js库成功地以不同格式格式化我的数字。这是我使用angular1过滤器的方式:
filter.js
.filter('numeral', function () {
return function (count) {
var numericalFormat = numeral(count).format('0.0a');
return numericalFormat;
};
})
为此,我跟随官方docs of Numeral.js 并使用npm安装。我还引用了index.html中的nodemodules。
在浏览器中
<script src="node_modules/numeral/numeral.min.js"></script>
但它显示
ERROR ReferenceError:未定义数字 在NumeralFilter.transform
最初我尝试使用CDN引用,它按照我在浏览器中的预期工作。但是当我在真实设备上安装应用程序时,我收到错误“数字未定义”。
管
import {Pipe,PipeTransform,Injectable} from "@angular/core"
@Pipe({
name:'numeralPipe'
})
@Injectable()
export class NumeralPipe implements PipeTransform{
transform(count:any):any{ //eg: in count has value something like 52456.0
var numericalFormat = numeral(count).format('0.0a');//error here
return numericalFormat; // i have to format it like 52,5k
};
}
是否存在用于格式化和操作数字的任何类型的脚本库,或者在angular2中是否有任何方法可以执行此操作?
答案 0 :(得分:4)
使用
将包添加到Node Modules文件夹yarn add numeral
或
npm install numeral
然后导入到Typescript文件
import * as numeral from 'numeral';
答案 1 :(得分:2)
添加
declare var numeral:any
之后
import {Pipe,PipeTransform,Injectable} from "@angular/core".