如何将点数转换为任意小数位数的逗号

时间:2015-11-21 22:16:25

标签: jquery jqgrid localization free-jqgrid

免费的jqgrid数据来自服务器的json字符串。 它可以包含不同数量的小数位,如

amount: "300.1", 
tax: "20.12", 
total: "320.123"

此数据应在jqgrid列中以逗号分隔,如

300,1    20,12    320,123

为此创建了区域设置文件grid.locale-et.js,内容为

formatter: {
    integer: {
        thousandsSeparator: " ",
        defaultValue: "0"
    },
    number: {
        decimalSeparator: ",",
        thousandsSeparator: " ",
        decimalPlaces: 2,
        defaultValue: "0,00"
    },
使用了colmodel中的

template: 'number'选项。这显示了所有具有2位数字的列,如

300,10    20,12    320,12

如何解决此问题,以便列显示正确的小数位数?

我在colmodel中尝试过

"template":"number",
"decimalPlaces":4

但它仍显示2位小数。 不使用模板显示正确的小数位数。

Testcase位于http://jsfiddle.net/xssnr1gn/3/

它包含

 { id: "20",  invdate: "2007-10-02", name: "test2",  note: "note2",  amount: "300.1", tax: "20.12", closed: false, ship_via: "FE", total: "320.123" },

但每列的输出为小数点后2位。

更新

如果删除了decimalPlaces: 2,,则jqgrid看起来像

removed

的问题:

  1. 小数分隔符更改为。
  2. 可变小数位数
  3. 这是不可理解的值7 146 2.8
  4. 对于某些数字空格出现在小数点之前
  5. 来自服务器的数据包含固定的小数位数。如何显示与服务器数据中完全相同的小数位数?

1 个答案:

答案 0 :(得分:1)

http://jsfiddle.net/xssnr1gn/4/

http://www.trirand.com/jqgridwiki/doku.php?id=wiki:predefined_formatter

您需要应用格式化程序和格式选项

ThousandsSeparator

完整代码:

formatter: "number", formatoptions: {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 4, defaultValue: '0.0000'}