天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 1946|回复: 0

[Iscript] 小数相减结果得出结果不精确解决方案【iscript-.toFixed(2)】

[复制链接]
suyisene 发表于 2011-11-30 14:04:34 | 显示全部楼层 |阅读模式
本帖最后由 purple 于 2013-1-10 10:36 编辑

Q:小数相减取值,得出的结果不准确,见代码:
  1. var a=5.5;
  2. var b=5.4;
  3. var mu = a-b;
  4. var muu = a+b;
  5. println("#####mu#########" + mu);
  6. println("#####muu#########" + muu);
复制代码
结果图:
1.jpg
A:这是JavaScript浮点运算的一个bug。解决方案:使用.toFixed(2)函数,将数字四舍五入同时保留两个小数点。如果想变更保留的小数点位数把参数2修改一下即可。
如果是视图列计算,那么Number.toFixed(value);就可以了,value是您最后返回的那个变量名称。
toFixed必须用于数据类型。所以您需要用getItemValueAsDouble()取值。请参考以下脚本:
var doc2 = getCurrentDocument();
var disgoodsrate = doc2.getItemValueAsDouble("disgoodsrate");
var value = disgoodsrate.toFixed(2);
value;

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 10:42

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表