递归火山软件开发平台

标题: 小数的问题 [打印本页]

作者: sougao    时间: 2020-5-29 19:36
标题: 小数的问题
在易语言里,有个取字节集数据的命令,同样的字节集数据,根据要取的数据类型的区别,会得到不同结果

比如:
数据 = { 0, 246, 236, 74 }
结果 = 取字节集数据(数据,#整数型)
结果为:1257043456

但如果是取小数,比如
结果 = 取字节集数据(数据,#小数型)
结果为:7764736


问题:在火山里只有  字节数组到整数(), 这个命令能够得到和易语言里取整数相同结果,但没有字节数组到小数() 的命令。尝试使用整数到小数的强制转换,结果还是1257043456。不能得到7764736这个结果


求助:可以有方法实现  字节数组到小数 的正确效果,

作者: 创世魂    时间: 2020-6-7 19:12
完事,,这个方法下次火山升级会集成到官方库中。
作者: 创世魂    时间: 2020-6-7 19:12
本帖结贴,如有其他疑问,请重新发帖提问。
作者: sougao    时间: 2020-6-10 13:51
本帖最后由 sougao 于 2020-6-10 14:04 编辑
创世魂 发表于 2020-6-7 19:12
本帖结贴,如有其他疑问,请重新发帖提问。

    看了代码感觉有些小问题,不严重,但如不完善一下,对新手来说,可能就是个坑
    代码里转换流程是: 字节数组先到长整数,然后再长整数转小数

     问题1:字节数组到长整数的过程:长整数为8字节,但用户很有可能输入长度不足的字节数组,可转换方法里却先没有纠错或补全长度,而是直接转换,所以一旦用户输入的字节数组长度不够,就会出错。

    问题2:小数即浮点数,有单浮点数【易语言里小数型】(4字节),双浮点数【易语言里双精度小数型】(8字节),代码里长整数转小数,这个应该是转成了双浮点数,经测试,结果是正确的,缺陷是没有转单浮点的方法,统统按双浮点操作,对新手可能也是个坑

   既然是要集成到官方库,请完善下吧。
   另外补充:火山里很多方法,几乎都没有对输入数据进行检查,只要用户输入数据不合规,就直接出错并且无提示。比如数组相关的很多方法,如果输入为空对象,或者数组越界,则会出错且无提示,,
   这个无提示就很头疼了,,


作者: 创世魂    时间: 2020-6-10 15:38
sougao 发表于 2020-6-10 13:51
看了代码感觉有些小问题,不严重,但如不完善一下,对新手来说,可能就是个坑
    代码里转换流程是:  ...

这就需要自己增强代码编写逻辑了。。

有些东西官方库是不能处理的,因为有时候很多人会认为自己的代码没有问题,但是程序又没有报错...。。最后的结果还是跑来到处问。。也找不到原因。

不如直接报错来的实在。。有错误一下子就知道了。。





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