处理网格列值中的货币格式

Handle currency format in grid columns value

我正在尝试处理我的网格中的一些货币值(美元、欧元等)我找到了一种方法将其设置到我的网格中,使用网格列模板现在我有这些格式

  1. 0,000.00 美元
  2. ¥0,000.00

然后我在我的数据库中存储了一些数值,当我绘制我的 Kendo 网格时,我正在做这样的事情:

let format = c.someFormat; // => [=10=],000.00, etc.
let grid = '# if (' + columnName + ') { ##=kendo.toString(' + columnName + ', "' + format + '")## } else { "" } #';
c.template = grid ;

当数字大于 999.00 时,此代码似乎可以正常工作,但不会显示如下内容:Ex。使用 10.22

[=11=],010.22

所以我的问题是,我可以做些什么来保留大于 999 的功能,但增加对次要数字的支持并将 10.22 显示为 $10.22

这是一个dojo

在掩码中使用 # 而不是 0

¥#,##0.00

Updated Dojo 和下面的演示:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>Kendo UI Snippet</title>

    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2022.1.412/styles/kendo.default-v2.min.css"/>

    <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
    <script src="https://kendo.cdn.telerik.com/2022.1.412/js/kendo.all.min.js"></script>
</head>
<body>
  
<script src="https://kendo.cdn.telerik.com/2022.1.412/js/cultures/kendo.culture.de-DE.min.js"></script>
<script>
  // Format a number using custom number formats
/* The result can be observed in the DevTools(F12) console of the browser. */
  console.log(kendo.toString(0.22, "¥#,##0.00")); // "0019"
  console.log(kendo.toString(1.22, "¥#,##0.00")); // "0019"
  console.log(kendo.toString(10.22, "¥#,##0.00")); // "0019"
  console.log(kendo.toString(123.45, "¥#,##0.00")); // "0019"
  console.log(kendo.toString(1234.56, "¥#,##0.00")); // "0019"
  console.log(kendo.toString(1234567.89, "¥#,##0.00")); // "0019"


</script>
</body>
</html>