如何以格式 x e y(作为 10 的幂)对列中的数字进行正确排序

How to sort numbers properly in column in format x e y (as power of 10)

我将数字表示为 10 的幂,例如 5e6 (5 000 000)、4e4 (40 000)。 有没有一种优雅的方法可以根据它们的值在 jqgrid 中对它们进行正确排序?

我有一个邪恶的想法来计算隐藏列中的值,并在 x e y 列的排序上对隐藏的计算列执行排序,但这似乎是错误的。

欢迎任何想法,它可能会帮助我弄清楚一些事情。

你有两个解决方案。

1.You 可以使用 sorttype 作为函数。函数接受值和 return 值。可以参考Guriddo文档here(看table中的这个参数) 假设您有 xey 格式的值,其中 x 是底数,y 是指数,那么

...
    { name: 'power', width: 100, sorttype : function(a) { var test = a.split("e"); return Math.pow(test[0],test[1]);} },
...

2.Your 第二个选项是使用 sortfunc 来定义自定义排序函数。使用方法看上面的link

更新 抱歉,我错过了你的幂是 10,所以你的代码应该更改为:parseFloat(test[0])*(Math.pow(10,test[1]),但我想你明白了。