请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

wjxkkxx

注册会员

1

主题

3

帖子

29

积分

注册会员

积分
29
  • 26

    金币

  • 主题

  • 帖子

最新发帖
wjxkkxx
注册会员   /  发表于:2016-3-24 16:49  /   查看:3405  /  回复:5
SpreadJS的表格公式计算,在HTML5下由于JS的浮点数计算问题,导致得出的数据不正确,如设置公式=46617.59+225.21时公式的计算结果为46842.7999999999999996。针对这个问题,我想问一下有没有好的解决办法。

5 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-3-24 17:32:19
沙发
浮点数精度问题是Javascript的经典问题了,一般不建议用JS做复杂浮点数运算。
在SpreadJS中可以给单元格设置formatter 来格式化数据。

  1.             sheet.setFormula(0, 2, "=46617.59+225.21");
  2.             sheet.setFormatter(0, 2, "#,#0.00");
复制代码
回复 使用道具 举报
CCKan
银牌会员   /  发表于:2016-3-24 17:46:36
板凳
你好,请问你用的是 SpreadJS 的哪个版本?
浮点数运算问题 SpreadJS V9 已经修复了, V8 及以前的版本确实是有问题的。
回复 使用道具 举报
wjxkkxx
注册会员   /  发表于:2016-3-24 22:45:51
地板
我这用的确实是老版本了,但是因为已经改过一定量的源码所以升级版本有些麻烦,能告诉我最新版本是如何解决的吗?,我自行去修改一下,解决这个问题
回复 使用道具 举报
wjxkkxx
注册会员   /  发表于:2016-3-24 22:50:27
5#
CCKan 发表于 2016-3-24 17:46
你好,请问你用的是 SpreadJS 的哪个版本?
浮点数运算问题 SpreadJS V9 已经修复了, V8 及以前的版本确 ...

确实是V8老版本了,因为修改过源码,不太方便直接升级版本,能指导一下V9室如何解决的吗?
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-3-25 15:30:19
6#
很抱歉,这里我们没法提供帮助了。
从技术上来讲,你修改过源码,我们不管怎么修的都对你没价值了,反而有可能带来很多风险。
另外,我们的产品并不提供源码,因此用户也不能修改源码。
如果你之前是购买的正式版本,我建议你还是回退修改的地方,升级到V9。否则会比较麻烦,后续你遇到任何一个问题,我们都没法支持了,因为你不能升级。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部