1980882096 发表于 2023-11-11 11:29:54

suyan 发表于 2023-11-10 22:16
前面加上(小数)

没用的,都试过

1980882096 发表于 2023-11-11 12:29:12

Xelloss0618 发表于 2023-11-11 11:00
火山已经是双精度了,不过这还是要让火山背锅。
因为 C/C++ 是能正确计算出 2 * 0.000001 = 0.000002 的 ...

多谢大佬解惑

1980882096 发表于 2023-11-11 12:54:54

本帖最后由 1980882096 于 2023-11-11 12:58 编辑

Xelloss0618 发表于 2023-11-11 11:00
火山已经是双精度了,不过这还是要让火山背锅。
因为 C/C++ 是能正确计算出 2 * 0.000001 = 0.000002 的 ...
就算用变量保存,超过6位的话还是返回0,请问大佬有办法解决吗,感觉火山这个小数并不是双精度的,文本到小数 ("0.0000001")这也是返回0

Xelloss0618 发表于 2023-11-11 14:46:38

1980882096 发表于 2023-11-11 12:54
就算用变量保存,超过6位的话还是返回0,请问大佬有办法解决吗,感觉火山这个小数并不是双精度的,文本到 ...

火山的小数就是双精度的,是“调试输出”这个命令的精度比较低,小于 1e-6 就输出 0 了,你可以用
调试输出 (取格式文本 ("%.8f", 0.0000001))

1980882096 发表于 2023-11-11 16:06:08

Xelloss0618 发表于 2023-11-11 14:46
火山的小数就是双精度的,是“调试输出”这个命令的精度比较低,小于 1e-6 就输出 0 了,你可以用
调试输 ...







大佬,有办法解决高精度计算吗?

1980882096 发表于 2023-11-11 20:33:22

解决了,是 到文本这个命令丢失精度,用数值到格式文本就解决了,顺便 @shuimiao的json写小数值用的到文本,高精度写不进去

weilai 发表于 2023-11-11 21:07:51


刚写了个小数文本互转的,支持高精度,可以试试

1980882096 发表于 2023-11-11 21:27:40

weilai 发表于 2023-11-11 21:07
刚写了个小数文本互转的,支持高精度,可以试试

还是数值到格式文本这个命令好一点,全精度的,你这个效率不高

weilai 发表于 2023-11-11 21:36:27

你试了?能正确运行就算不错了,还没有对速度优化过
页: 1 [2]
查看完整版本: 乘法运算,小数点位数多了结果等于0