【问题标题】:jqGrid: Number format with comma as decimal pointjqGrid:以逗号作为小数点的数字格式
【发布时间】:2012-02-14 11:53:41
【问题描述】:

我正在使用“数字”类型将浮点数输入到 jqGrid 网格中。 我能够格式化浮点数以用逗号渲染(我们在欧洲使用逗号 作为小数分隔符)。但是输入字段(编辑表单或内联)仍然假设 输入的浮点数使用点而不是逗号。

formatoptions: {decimalSeperator : ','}

似乎影响渲染但不影响输入数据的验证。

这里有什么合理的选择吗?

【问题讨论】:

  • 我认为,“分隔符”这个词的拼写不正确。修改拼写为“分隔符”

标签: javascript jqgrid


【解决方案1】:

您可以创建自己的自定义格式器。

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

指南解释得很好。您必须创建一个格式化程序和一个取消格式化程序才能进行编辑。

像这样创建一个格式化函数:

<script>
    jQuery("#grid_id").jqGrid({
    ...
       colModel: [ 
          ... 
          {name:'price', index:'price', width:60, align:"center", editable: true, formatter:numFormat, unformat:numUnformat},
          ...
       ]
    ...
    });

    function numFormat( cellvalue, options, rowObject ){
        return cellvalue.replace(".",",");
    }

    function numUnformat( cellvalue, options, rowObject ){
        return cellvalue.replace(",",".");
    }
</script>

您还可以在这些函数中附加 $ 或其他格式。

【讨论】:

  • Nota Bene:当盎格鲁撒克逊人使用“,”时,千位分隔符转换器是大陆的空格
  • 这不会回答问题所有者提出的问题。
  • 这就是为什么它是一个评论;如果你保留英文千位分隔符,你会得到任何数字符号的废话,例如12,345,678.9 -> 12,345,678,9 而不是正确的(和所有者要求的)12345678,9
猜你喜欢
  • 1970-01-01
  • 2011-12-28
  • 2022-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-14
  • 1970-01-01
相关资源
最近更新 更多