计算结果保留四位有效数字,这个功能可以实现吗比如0.01234这种 从不为0的第一个数开始算

image.png

FineReport jack丶杨某人 发布于 2021-3-17 08:32 (编辑于 2021-3-17 08:39)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
axingLv6专家互助
发布于2021-3-17 09:35(编辑于 2021-3-17 10:14)

left("0.023456",greparray(maparray(split("0.023456",""),if(item=0||item=".",0,if(seq()=2,index,0))),item>0))

image.png

---------------------

left("0.02300456",greparray(maparray(split("0.02300456",""),if(item=0||item=".",0,if(seq()=1,index,0))),item>0)+3)

image.png

最佳回答
1
krystal033Lv7高级互助
发布于2021-3-17 09:12

WorkBook52.cpt

image.png是这样的效果么 附件上传了

  • jack丶杨某人 jack丶杨某人(提问者) 效果是这样的,有个问题我请教一下 C1这个公式是什么意思啊
    2021-03-17 10:07 
  • krystal033 krystal033 回复 jack丶杨某人(提问者) 就是123456789去这个数字里面找到对应的位置 然后取最小的一个出现这些123456789的位置 就从那一位开始取4位
    2021-03-17 10:11 
  • jack丶杨某人 jack丶杨某人(提问者) 回复 krystal033 哦哦 这个我套在我报表里不行,因为我是填报完根据公式算出的结果进行有效数字修约,这种在页面动态的是不是没法用啊
    2021-03-17 10:19 
  • krystal033 krystal033 回复 jack丶杨某人(提问者) 应该可以的吧 。。。。。
    2021-03-17 10:23 
  • jack丶杨某人 jack丶杨某人(提问者) 回复 krystal033 还是谢谢啦
    2021-03-17 10:53 
最佳回答
0
烟尘Lv6高级互助
发布于2021-3-17 08:36(编辑于 2021-3-17 08:40)

没有现成的函数,恐怕要写自定义函数来实现了

自定义函数-https://help.fanruan.com/finereport/doc-view-698.html

  • jack丶杨某人 jack丶杨某人(提问者) 是有效数字,第一个不为0 的数开始修约
    2021-03-17 08:41 
  • 烟尘 烟尘 回复 jack丶杨某人(提问者) 用java写吧,把数字当字符串传进来,做循环顺序判断是否为0,返回不为0的index,截取字符串转double返回
    2021-03-17 08:58 
  • 烟尘 烟尘 回复 jack丶杨某人(提问者) 挺好实现的,没什么难度
    2021-03-17 08:58 
  • jack丶杨某人 jack丶杨某人(提问者) 回复 烟尘 嗯 我试试吧
    2021-03-17 09:05 
最佳回答
0
luojian0323Lv7资深互助
发布于2021-3-17 08:37

要么就4位就好了

怎么还从不为0的数开始?

  • jack丶杨某人 jack丶杨某人(提问者) 要求是有效数字 所以小数点后面有0不算,要从第一个不为0 的数开始修约
    2021-03-17 08:40 
  • 5关注人数
  • 587浏览人数
  • 最后回答于:2021-3-17 10:14
    请选择关闭问题的原因
    确定 取消
    返回顶部