找回密码
 立即注册

QQ登录

只需一步,快速开始

Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-4-3 12:31:11
11#
前端小白 发表于 2024-4-3 10:49
这就是我说的问题啊。
0.14 -> 0.0,就变成0.1
0.15 -> 0.0,   就变成0.2

回复 使用道具 举报
yue1859921
初级会员   /  发表于:2024-4-3 12:48:03
12#
本帖最后由 yue1859921 于 2024-4-3 12:49 编辑
前端小白 发表于 2024-4-3 10:49
这就是我说的问题啊。
0.14 -> 0.0,就变成0.1
0.15 -> 0.0,   就变成0.2

1.那 比如wps里 按照我这个示例  计算出来  是0.5  还是0.6?
2.怎么保持spreadjs 和gcexcel 值 保持一致  ?  设置spreadjs?

GC.Spread.CalcEngine.Functions.CALC_PRECISION = 17// 这里的17其实指的是有效数字(不仅仅是小数)
回复 使用道具 举报
前端小白
超级版主   /  发表于:2024-4-3 17:16:10
13#
yue1859921 发表于 2024-4-3 12:48
1.那 比如wps里 按照我这个示例  计算出来  是0.5  还是0.6?
2.怎么保持spreadjs 和gcexcel 值 保持一 ...

如果目的是保持一致,不管对错,那么
1. GC.Spread.CalcEngine.Functions.CALC_PRECISION = 17;
2. 把精度调成0.00 (你这个文件里,要把条件格式上的格式调整为0.00)

1或者2都阔以,个人推荐2,如果我前面说的,精度问题,就用精度妥协来打败。这样至少避免大精度损失么。
回复 使用道具 举报
yue1859921
初级会员   /  发表于:2024-4-4 11:03:13
14#
本帖最后由 yue1859921 于 2024-4-4 11:30 编辑
前端小白 发表于 2024-4-3 17:16
如果目的是保持一致,不管对错,那么
1. GC.Spread.CalcEngine.Functions.CALC_PRECISION = 17;
2. 把 ...

嗯明白了,那就能保证spreadjs和GcExcel转pdf的结果一致 就OK

另外有个问题想咨询下
WPS里  如果是 55.55-50.00  计算结果保留1位小数   是5.6
为什么 55.55-55.00 计算结果保留一位小数 是0.5
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-4-7 14:05:07
15#
yue1859921 发表于 2024-4-4 11:03
嗯明白了,那就能保证spreadjs和GcExcel转pdf的结果一致 就OK

另外有个问题想咨询下

您好,我想这个截图应该能够解释为什么会出现您所描述的问题,一个是按5进一,一个是按4舍去:

image.png481676024.png
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-4-15 17:37:47
16#
本帖最后由 Joestar.Xu 于 2024-4-16 11:17 编辑

没有看到您再回复,这个帖子先结帖了。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部