gpt4 book ai didi

angular - 带 Angular 管的 Kilo 格式化程序

转载 作者:行者123 更新时间:2023-12-03 08:58:07 25 4
gpt4 key购买 nike

我刚刚开始通过新手示例学习 TypeScript。

我想创建一个用于将 int 转换为 kilo 的管道。例如如果输入 = 1234 返回 1.2K

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({ name: 'kiloFormater' })
export class KiloFormaterPipe implements PipeTransform {
transform(num: number): string {
if (num >= 1000000000)
return (num / 1000000000).toString() + 'B';

if (num >= 1000000)
return (num / 1000000).toString() + 'M';

if (num >= 1000)
return (num / 1000).toString() + 'K';

return num.toString();
}
}

编辑此代码返回 1K,但我想知道如何获得 1.2K。

我可以通过扩展在 C# 中做到这一点

public static string FormatNumber(this long num)
{
if (num >= 100000000) {
return (num / 1000000D).ToString("0.#M");
}
if (num >= 1000000) {
return (num / 1000000D).ToString("0.##M");
}
if (num >= 100000) {
return (num / 1000D).ToString("0.#k");
}
if (num >= 10000) {
return (num / 1000D).ToString("0.##k");
}

return num.ToString("#,0");
}

最佳答案

您可以使用 toFixed(n) 将数字转换为具有 n 位小数的任意精度的字符串。

function transform (value) {
if (value >= 1e6) return (value / 1e6).toFixed(1) + 'M'
if (value >= 1e3) return (value / 1e3).toFixed(1) + 'K'
return value.toString()
}

console.log(transform(1234))
console.log(transform(1234567))

关于angular - 带 Angular 管的 Kilo 格式化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53564834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com