特定值计算百分比时,会导致页面卡死
本帖最后由 Joestar.Xu 于 2024-5-28 10:07 编辑产品:SpreadJS、GcExcel
版本:V16.2.3、V6.2.1
问题编号:DOCXLS-9080
LastReview:2024-05-28
2023/12/28:此问题初步计划在V7.1修复,如有新的进展贴中更新。
值为
1.7976931348623157e+308
-1.7976931348623157e+308
如下截图,将该值输入到单元格中,然后设置格式为百分比,页面会卡死
您好,我理解您的意思,您的问题是,将1.7976931348623157e+308的格式设置为百分比后,页面会卡死是吗,我在我们官网的在线表格编辑器复现了您的问题
但是将1.7976931348623157e+308转换为百分数没有具体意义,因为百分数是用来表示相对值或比例的,而这个数字已经超出了双精度浮点数的表示范围。请问您是什么样的场景和需求需要用到对此类数字作百分比格式化呢 Richard.Huang 发表于 2023-10-16 13:41
您好,我理解您的意思,您的问题是,将1.7976931348623157e+308的格式设置为百分比后,页面会卡死是吗,我 ...
这个数字不是故意写死的静态数据,而是通过 GcExcel 处理后生成的结果导入到 SpreadJS 中导致页面卡死,期望 SpreadJS 能做优化,处理这种特殊场景,因为以【常规】来展示,是没有问题的。
好的,您的需求已收到,我们会进一步调研,后续有相关进展我会在本贴中给您回复。 您好,根据调研,我们还有部分信息需要跟您确认
1. 1.7976931348623157e+308这个值是GcExcel从后端传入SpreadJS的,这个值的具体场景是什么样的,我们为什么会将这样一个值的格式设置为百分比,以及什么场景下会产生这样一个数值
2. 1.7976931348623157e+308在前端解析出来就是一个无限(Infinity)
当一个数值超出了JavaScript的数值表示范围时,它就会被解析为Infinity。Infinity在数值运算中被用作特殊的标识符。
因此您希望的SpreadJS的优化是什么,是显示Infinity还是和“常规”格式展示相同的值呢? 您好,请问您的问题按照楼上的解释能否得到解决,如果仍存在相关疑问,能否如上面所说表述您期望的优化是什么,方便我们更好地测试 您好,请问上述回答是否可以解决您的问题,如果问题还未解决,您可以将您的希望说明一下。 Richard.Huang 发表于 2023-10-17 11:14
您好,根据调研,我们还有部分信息需要跟您确认
1. 1.7976931348623157e+308这个值是GcExcel从后端传入Spr ...
当数据字段值为 null, 使用 GcExcel 的 max/min 函数计算,就会出来这个值。
1. 首先期望的优化是肯定不可以让页面卡死
2. 在无法计算时,可以考虑:
方案a. 与【常规】一样展示,否则用户根本也不知道Infinity 是个啥
方案b. 类似 Excel 的 #VALUE! 的错误展示
3. 需要排查是否是 GcExcel 的 max 和 min 函数的Bug
观远前端 发表于 2023-10-19 11:26
当数据字段值为 null, 使用 GcExcel 的 max/min 函数计算,就会出来这个值。
您好,您所说的”当数据字段值为 null, 使用 GcExcel 的 max/min 函数计算,就会出来这个值“这应该是您业务中的逻辑吧?这个我们在本地无法验证您的该操作
请问能否提供一份可供我们复现的后端GcExcel的Demo,方便我们后续调研是否是GcExcel的Bug,从而帮您从根本上解决该问题避免后续该问题的发生
本帖最后由 观远前端 于 2023-10-19 19:22 编辑
Richard.Huang 发表于 2023-10-19 15:57
您好,您所说的”当数据字段值为 null, 使用 GcExcel 的 max/min 函数计算,就会出来这个值“这应该是您 ...
需要以{{=MIN(ds.count)}} 的形式复现,稍后整理一个demo 补充在帖子里,除了排查 GcExcel 的问题, SpreadJS 的优化也是需要做的,谢谢
页:
[1]
2