设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 333|回复: 8
打印 上一主题 下一主题

这个问题怎么解决呢?!~

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-4 00:19:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
float m_nnum;

if(m_nnum==(int)m_nnum)
m_nnum=(int)m_nnum/10;
else
{
int i=1,j=1;
while(m_nnum!=(int)m_nnum)
{
m_nnum=m_nnum*10;
i++;
}
m_nnum=(int)m_nnum/10;
for(;j<=i-2;j++)
{
m_nnum=m_nnum/10;
}
}
这是程序中某个函数,但是可能这里的数据类型转换太多,导致程序运行数目大的时候(1.1234567)就程序死了,没反应没提示,要结束任务才能关掉。不知道是不是这个原因呢?~!有可能是其他问题吗(没加这个函数之前程序运作正常)?~!
2#
发表于 2009-11-4 00:19:12 | 只看该作者
这个程序写的实在没什么意义
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-4 00:19:13 | 只看该作者
楼上的小黑同志, 又看到你啦, 哈哈哈。

我也不知道楼主的代码到底要干吗的, 感觉思路完全有问题。 就说那个 if 判断, 左边是float 类型, 右边强制转换为 int 类型, 然后再比较是不是相等, 在这样的情况下, 这个比较就有问题了, 一个浮点型, 一个是整型, 怎么可以比呢? 楼主, 你说说, 你到底想实现什么, 然后我帮你写个函数就可以了, 或许还可以用现成的函数。
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-4 00:19:15 | 只看该作者
那天第一次听你说小黑,
我不知道小黑何方高人,
后来你告诉我他叫Dark什么的,
我才知道,那是一个和我长的很像的家伙..
呵呵,那是俺家兄弟...
搞笑了不是..哈哈哈..
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-4 00:19:18 | 只看该作者
原来是你家兄弟, 不错, 不错.
看来都是厉害角色.
回复 支持 反对

使用道具 举报

7#
发表于 2009-11-4 00:19:19 | 只看该作者
啊!~我是想要做一个退格键啊~!
那个if里面的是判断一个数是不是整数哦~!
如果是小数就把小数乘以10,在消去后面一位,再除以10,变为原来的数再退一位~!
我知道这样的类型转换有问题,但不知道有什么办法呢?除了把数改为字符串~!
回复 支持 反对

使用道具 举报

8#
发表于 2009-11-4 00:19:21 | 只看该作者
浮点数最多应该只能显示六位小数
我看这个程序应该没有问题,但我在运行超过四位小数的时候不能实现退格的作用.
回复 支持 反对

使用道具 举报

9#
发表于 2009-11-4 00:19:22 | 只看该作者
注意小数点四位以后要用到科学计数法,可能问题出在这.
回复 支持 反对

使用道具 举报

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

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 02:33 , Processed in 0.120389 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

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