递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 4510|回复: 16
打印 上一主题 下一主题

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

[复制链接]

1

主题

2

帖子

87

积分

注册会员

Rank: 2

积分
87
跳转到指定楼层
楼主
发表于 2023-12-12 20:32:32 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

C++和易语言都正常。唯独火山输出了0
回复

使用道具 举报

53

主题

389

帖子

2410

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2410
17#
发表于 2023-12-17 12:20:01 | 只看该作者
类型用小数就行了..........
回复

使用道具 举报

15

主题

369

帖子

1533

积分

核心用户

易语言+火山+HTML+SQL

Rank: 9Rank: 9Rank: 9

积分
1533
QQ
16#
发表于 2023-12-14 21:18:59 | 只看该作者
dingpengdhr 发表于 2023-12-13 17:23
这说明当初吴总设计易语言的时候  把数值类型全部强转双精度是有很大意义的   确实弥补了新手小白在数据类 ...

但同样造成了丢失精度的严重缺陷,便易语言不能做到严格的计算操作.
---------QQ:884905066 明靓---------
回复

使用道具 举报

32

主题

404

帖子

3535

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3535
15#
发表于 2023-12-14 08:04:33 | 只看该作者
落雪有声 发表于 2023-12-14 00:59
215252992*100/219127816

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

偶记得应该是先乘以1.0,就是数值后面要加个小数点,SQL Server踩过这个坑,当时折腾很久才知道这个问题
回复

使用道具 举报

3

主题

86

帖子

1214

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1214
14#
发表于 2023-12-14 00:59:45 | 只看该作者
本帖最后由 落雪有声 于 2023-12-14 01:02 编辑

215252992*100/219127816

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

使用道具 举报

69

主题

989

帖子

4466

积分

核心用户

Rank: 9Rank: 9Rank: 9

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

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

使用道具 举报

0

主题

42

帖子

2332

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2332
12#
发表于 2023-12-13 17:23:43 | 只看该作者
这说明当初吴总设计易语言的时候  把数值类型全部强转双精度是有很大意义的   确实弥补了新手小白在数据类型上的很多错误
回复

使用道具 举报

410

主题

2511

帖子

8281

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
8281
11#
发表于 2023-12-13 13:27:04 来自手机 | 只看该作者
火山类型要与c++对齐,不能与易语言对齐。你的c++用的double类型,对应火山是小数型。另外,数值运算表达式中只要包含小数点就会按double类型来计算,否则按设定的类型(如你设定的长整数)计算结果就是0。而易语言默认都是double计算,这是易语言破坏了计算规则,是为了方便使用,从而丢失精确定义数据类型的特性
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40529
10#
发表于 2023-12-13 08:04:21 | 只看该作者
100  改成 100.0 就行了。
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

40

主题

152

帖子

2402

积分

金牌会员

Rank: 6Rank: 6

积分
2402
QQ
9#
发表于 2023-12-12 23:39:50 | 只看该作者
<火山程序 类型 = "通常" 版本 = 1 />

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


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-24 03:48 , Processed in 0.103419 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表