加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular2 pipe format

发布时间:2020-12-17 09:50:05 所属栏目:安全 来源:网络整理
导读:import {Pipe,PipeTransform} from "@angular/core";import {DatePipe,DecimalPipe} from "@angular/common";@Pipe({ name: 'format'})export class Format implements PipeTransform { datePipe: DatePipe = new DatePipe('medium'); decimalPipe: DecimalP
import {Pipe,PipeTransform} from "@angular/core";
import {DatePipe,DecimalPipe} from "@angular/common";

@Pipe({
    name: 'format'
})
export class Format implements PipeTransform  {

    datePipe: DatePipe = new DatePipe('medium');
    decimalPipe: DecimalPipe = new DecimalPipe('en');

    transform(input:string,args:any): any {
        var format = '';
        var parsedFloat = 0;
        var pipeArgs = args.split(':');
        for(var i = 0; i < pipeArgs.length; i++) {
            pipeArgs[i] = pipeArgs[i].trim(' ');
        }

        switch(pipeArgs[0].toLowerCase()) {
            case 'text':
                return input;
            case 'decimal':
            case 'number':
                parsedFloat = !isNaN(parseFloat(input)) ? parseFloat(input) : 0;
                format = pipeArgs.length > 1 ? pipeArgs[1] : null;
                return this.decimalPipe.transform(parsedFloat,format);
            case 'percentage':
                parsedFloat = !isNaN(parseFloat(input)) ? parseFloat(input) : 0;
                format = pipeArgs.length > 1 ? pipeArgs[1] : null;
                return this.decimalPipe.transform(parsedFloat,format) + '%';
            case 'date':
            case 'datetime':
                var date = !isNaN(parseInt(input)) ? parseInt(input) : new Date(input);
                format = 'MMM d,y h:mm:ss a';
                if(pipeArgs.length > 1) {
                    format = '';
                    for(var i = 1; i < pipeArgs.length; i++) {
                        format += pipeArgs[i];
                    }
                }
                return this.datePipe.transform(date,format);
            default:
                return input;
        }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读