您好,在这个Demo中,实际上是演示了自定义格式怎么发挥作用,如代码所示:
- customFormatterTest.format = function (obj, conditionalForeColor) {
- return number_format(obj, 2, ".", ",");
- };
复制代码
在format方法中,实际上可以把obj(也就是单元格的值)根据您自己的需求来设置。
如果您只是希望设置一个很长的数字,最简单,精度也不会损失的方法就是把单元格类型设置为文本格式,
如图所示:
但是限于JavaScript的限制,如果这些单元格的值参与了函数计算,那么得到的结果仍然会显示成科学计数法,如图:
如果此时在B2单元格上设置自定义单元格格式,
那么就可以手动将科学计数法的数字转为字符串,如代码所示:
- customFormatterTest.format = function (obj, conditionalForeColor) {
- // return number_format(obj, 2, ".", ",");
- return getFullNum(obj);
- };
- function getFullNum(num){
- //处理非数字
- if(isNaN(num)){return num};
- // 处理大数
- num = new Number(num).toLocaleString();
- //处理小数:处理不需要转换的数字
- var str = ''+num;
- if(!/e/i.test(str)){return num;};
- return (num).toFixed(18).replace(/\.?0+$/, "");
- }
复制代码
参考文章:
https://segmentfault.com/q/1010000010460890 |