找回密码
 立即注册

QQ登录

只需一步,快速开始

hjkl

初级会员

31

主题

77

帖子

390

积分

初级会员

积分
390
hjkl
初级会员   /  发表于:2020-12-9 15:26  /   查看:3290  /  回复:6
1金币
image.png874014282.png image.png636242675.png

因为单元格的小数位数是不固定的 , 所以单元格格式设置为常规  或  +General;-General;General   

在Excel中没有问题的  导入spreadjs后小数变成14位

附件.rar

41.87 KB, 下载次数: 132

最佳答案

查看完整内容

这个属于JavaScript的精度问题 您可以用以下代码解决 GC.Spread.CalcEngine.Functions.CALC_PRECISION = 12; 若再与此类问题可以尝试调整上述代码的数值

6 个回复

正序浏览
hjkl
初级会员   /  发表于:2020-12-10 15:35:28
6#
版主 你好  CALC_PRECISION 这个我应该怎么选择呢  ,有没有针对这个api方法的说明呢 , 想知道选哪个值是合适的
回复 使用道具 举报
hjkl
初级会员   /  发表于:2020-12-10 15:19:36
5#
DerrickJiao 发表于 2020-12-10 10:51
不用客气,解决了就好,CALC_PRECISION具体取值取决于表单,不同的表单适用不一样。这个方法代表的是截取 ...

image.png406296080.png
版主你好  我把035单元格改为5  这个问题又出现了
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-12-10 10:51:20
4#
hjkl 发表于 2020-12-10 10:40
谢谢版主 改成13可以了  我之前设置是GC.Spread.CalcEngine.Functions.CALC_PRECISION = 14;   1 ...

不用客气,解决了就好,CALC_PRECISION具体取值取决于表单,不同的表单适用不一样。这个方法代表的是截取的位数。
回复 使用道具 举报
hjkl
初级会员   /  发表于:2020-12-10 10:40:44
3#
谢谢版主 改成13可以了  我之前设置是GC.Spread.CalcEngine.Functions.CALC_PRECISION = 14;   14不应该是比13更完善吗
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-12-9 16:05:37
2#
本帖最后由 DerrickJiao 于 2020-12-10 15:36 编辑

您好,问题已复现,我们会做进一步调研,有进展会在本帖更新,此贴为您改为保留处理。(SJS-6808)
经调研,该问题属于JavaScript计算精度问题。

请将计算精度设置为13以解决该问题(在导入excel之前)。
GC.Spread.CalcEngine.Functions.CALC_PRECISION = 13;


image.png751019592.png
回复 使用道具 举报
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-12-9 15:26:59
来自 7#
hjkl 发表于 2020-12-10 15:19
版主你好  我把035单元格改为5  这个问题又出现了

这个属于JavaScript的精度问题

您可以用以下代码解决
GC.Spread.CalcEngine.Functions.CALC_PRECISION = 12;

若再与此类问题可以尝试调整上述代码的数值
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部