【问题标题】:Typescript Format String to ##,##打字稿格式字符串到##,##
【发布时间】:2022-07-20 16:43:46
【问题描述】:

我一直在通过这种方法将字符串转换为##,##格式。我想知道有没有更简单的方法来实现这一点?

  return new Intl.NumberFormat('de-DE', { minimumFractionDigits: 2, maximumFractionDigits: 2 })
    .format(Number(value.replace(',', '.')));

例如,我想要以下实际和预期的格式:

1 --> 1,00
12 --> 12,00
12,3 --> 12,30
12,34 --> 12,34

【问题讨论】:

  • 对不起,你的问题不清楚。你能发布实际格式和预期格式吗?
  • @shehanpathirathna 更新了问题

标签: angular typescript


【解决方案1】:

试试js的toLocaleString方法,它会帮你实现这种格式

访问url,它将帮助您将其用于不同类型的格式

【讨论】:

    【解决方案2】:

    您可以简单地使用 toFixed(2) javascript 原生函数。

    示例:parseFloat("9.2").toFixed(2) --> 9.20

    【讨论】:

      【解决方案3】:

      您也可以通过使用有角度的内置decimal 管道来实现此目的。您可以使用DecimalPipe 类命令式地使用它,也可以使用number 管道在html 上声明性地使用它。

      直接在 HTML 上

      {{value | number:'4.2-2':'de'}}
      

      命令式

      class MyService {
        constructor(private decimal: DecimalPipe) {}
      
        transformValue(num) {
          return this.decimal.transform(num, '4.2-2', 'de');
        }
      }
      

      【讨论】:

      • 请建议/评论为什么-1,如果有什么不对的地方发表评论,它可以帮助共同提高质量。谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-25
      • 2018-12-25
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 2021-11-06
      • 1970-01-01
      相关资源
      最近更新 更多