小凡工具箱 发表于 2023-12-12 20:32:32

这是火山的问题还是代码的问题 C++易语言都正常 就火山不...

https://openai-75050.gzc.vod.tencent-cloud.com/openaiassets_91528a065060798c203360c76588fdaf_469401702383951858.png
C++和易语言都正常。唯独火山输出了0

折戟沉沙 发表于 2023-12-12 20:55:21

首先你数据类型就用错了,其次数值后面加上.0

hcwanz 发表于 2023-12-12 21:05:17

你要不再看一眼c的代码?

小凡工具箱 发表于 2023-12-12 21:08:28

hcwanz 发表于 2023-12-12 21:05
你要不再看一眼c的代码?

你把这两个值放长整数变量里面试试

hcwanz 发表于 2023-12-12 21:11:04

小凡工具箱 发表于 2023-12-12 21:08
你把这两个值放长整数变量里面试试

你怎么c++不用长整数

hcwanz 发表于 2023-12-12 21:53:28

这两个数相除小于1,用整数类型是必然等于零的。

sfmf520 发表于 2023-12-12 23:39:50

<火山程序 类型 = "通常" 版本 = 1 />

变量 completedLength <类型 = 长整数>
变量 totalLength <类型 = 长整数>
completedLength = 215252992
totalLength = 219127816
调试输出 ((小数)completedLength / totalLength * 100)


创世魂 发表于 2023-12-13 08:04:21

100改成 100.0 就行了。

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

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

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

这说明当初吴总设计易语言的时候把数值类型全部强转双精度是有很大意义的   确实弥补了新手小白在数据类型上的很多错误
页: [1] 2
查看完整版本: 这是火山的问题还是代码的问题 C++易语言都正常 就火山不...