递归火山软件开发平台

标题: 小数计算精度的重大bug | 附:15位高精度的小数到文本() [打印本页]

作者: shuimiao    时间: 2024-9-29 22:16
标题: 小数计算精度的重大bug | 附:15位高精度的小数到文本()
本帖最后由 shuimiao 于 2024-9-30 17:32 编辑



一、0.01 / 10000.0 * 200.0 == 0


X大说这是吴总自己对表达式做了改变,导致丢失精度,只要把计算数都改成变量就没事,但是这说不过去了吧,老老实实翻译人家的表达式不好吗,徒增麻烦


二、变量a(值是0.01) / 变量b(值是10000.0) ==  变量c(值是0.000001)

这时如果你将变量c到文本,竟然转换为"0"。当你想计算用户给出文本中出现的多联计算表达式时,比如"0.01 / 10000.0 * 200.0",那必然就会分成两个步骤,第一步"0.01 / 10000.0"计算出结果转换到文本就是"0",然后第二步 "0 * 200.0"还是0。


请求吴总修复bug


第二点问题,取格式文本()方法会出现固定小数位6精度,不足位自动补0的问题,不行。所以我问ai写了个小数到文本的方法,好用,特来贡献。


作者: yhobo    时间: 2024-9-30 00:30
好像大数的四舍五入还有个会去掉负数符号的BUG,当时没细究,只加了个-号了事
作者: 小虾米006    时间: 2024-9-30 08:24
支持!
作者: 宇杰    时间: 2024-9-30 16:04
当时没细究
作者: 2767944492    时间: 2024-9-30 17:25

作者: htpmcj    时间: 2024-9-30 18:27
看看
作者: Xelloss0618    时间: 2024-9-30 20:52
用自带的「数值到格式文本]也行
作者: shuimiao    时间: 2024-9-30 21:33
Xelloss0618 发表于 2024-9-30 20:52
用自带的「数值到格式文本]也行

没用的,数值到格式文本 (0.00000001)的结果是1E-08,而不是"0.00000001",还是我用ai写的方法好使
作者: Xelloss0618    时间: 2024-9-30 22:05
shuimiao 发表于 2024-9-30 21:33
没用的,数值到格式文本 (0.00000001)的结果是1E-08,而不是"0.00000001",还是我用ai写的方法好使 ...

嗯,你顶楼的代码跟 取格式文本 ("%.15f", 0.00000001) 也差别不大,就是后面多写一个删除尾部多余的0
作者: shuimiao    时间: 2024-10-1 14:01
Xelloss0618 发表于 2024-9-30 22:05
嗯,你顶楼的代码跟 取格式文本 ("%.15f", 0.00000001) 也差别不大,就是后面多写一个删除尾部多余的0 ...

如果取格式文本()这个,然后再火山代码去零,跟我给的代码,不知道哪个效率更高
作者: 山梦    时间: 2024-10-2 07:47
我看看,学学
作者: 叶枯藤    时间: 2024-10-5 15:38
确实有这个问题!
作者: 仰望    时间: 2024-10-9 13:34
路过顶一个
作者: 山梦    时间: 2024-10-28 15:44
计算:0.0000001267 * 20.2 * 20.2,还是等于0。
作者: Xelloss0618    时间: 2024-10-28 15:51
山梦 发表于 2024-10-28 15:44
计算:0.0000001267 * 20.2 * 20.2,还是等于0。

你这个只能用变量保存后再用变量计算了。
火山编译时的计算公式,将小于 0.000001 的数值视为0。
作者: pugying    时间: 2024-11-5 17:40
看看!!!!!
作者: 折戟沉沙    时间: 2024-12-3 18:30

作者: a4029537    时间: 2024-12-3 21:05
学习!!!!!!!!
作者: wu5492579    时间: 2024-12-4 16:32
学习                                 
作者: 888888    时间: 2024-12-4 22:43
谢谢分享
作者: xo37    时间: 2024-12-5 11:35
和易语言 一个 处理方式?
作者: ku2017    时间: 2025-2-13 19:33
看看如何解决
作者: cl6843751    时间: 2025-2-22 19:58

支持!
作者: q472448760    时间: 2025-3-13 23:57
66666666666666666666666666
作者: 阿海    时间: 2025-4-28 14:24
学习一下,谢谢

作者: 易涛涛    时间: 2025-6-16 01:51
来学习
作者: hai123456    时间: 2025-7-11 21:53
学习学习学习学习学习学习
作者: mosheng    时间: 2025-7-23 04:06
学习了!!!!!!!!!!!!!!!
作者: 朕的    时间: 2025-7-24 06:31
“可能”吴江山比我们想的“周道”
作者: kca    时间: 2025-9-16 10:06
我看看,学学
作者: a759077146    时间: 2025-10-9 12:55
11111111111
作者: 苹果2014    时间: 2025-10-11 23:38
数计算精度的重大bug | 附:15位高精度的小数到文本()
作者: cdmmye    时间: 2025-10-30 13:24
15位高精度的小数到文本()
作者: 000    时间: 2025-12-13 20:40

作者: 000    时间: 2025-12-13 20:40

作者: wsnd1478    时间: 2026-1-6 09:28
学习一下
作者: chenwing    时间: 2026-1-11 13:36
谢谢分享
作者: yb1984724    时间: 昨天 18:36
看看是怎么弄的





欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4