shuimiao 发表于 2023-12-13 13:27:04

火山类型要与c++对齐,不能与易语言对齐。你的c++用的double类型,对应火山是小数型。另外,数值运算表达式中只要包含小数点就会按double类型来计算,否则按设定的类型(如你设定的长整数)计算结果就是0。而易语言默认都是double计算,这是易语言破坏了计算规则,是为了方便使用,从而丢失精确定义数据类型的特性

dingpengdhr 发表于 2023-12-13 17:23:43

这说明当初吴总设计易语言的时候把数值类型全部强转双精度是有很大意义的   确实弥补了新手小白在数据类型上的很多错误

hcwanz 发表于 2023-12-13 17:57:22

dingpengdhr 发表于 2023-12-13 17:23
这说明当初吴总设计易语言的时候把数值类型全部强转双精度是有很大意义的   确实弥补了新手小白在数据类 ...

但效率瞬间就下去了,双精度单是内存长度就和长整数一样

落雪有声 发表于 2023-12-14 00:59:45

本帖最后由 落雪有声 于 2023-12-14 01:02 编辑

215252992*100/219127816

说白了,你要转变一下思路,你先乘100 再除就行了. 我踩过这个坑

正版商业用户 发表于 2023-12-14 08:04:33

落雪有声 发表于 2023-12-14 00:59
215252992*100/219127816

说白了,你要转变一下思路,你先乘100 再除就行了. 我踩过这个坑 ...
偶记得应该是先乘以1.0,就是数值后面要加个小数点,SQL Server踩过这个坑,当时折腾很久才知道这个问题

明靓 发表于 2023-12-14 21:18:59

dingpengdhr 发表于 2023-12-13 17:23
这说明当初吴总设计易语言的时候把数值类型全部强转双精度是有很大意义的   确实弥补了新手小白在数据类 ...

但同样造成了丢失精度的严重缺陷,便易语言不能做到严格的计算操作.

li327065266kun 发表于 2023-12-17 12:20:01

类型用小数就行了..........
页: 1 [2]
查看完整版本: 这是火山的问题还是代码的问题 C++易语言都正常 就火山不...