| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 489 人关注过本帖
标题:竟然多了个1
只看楼主 加入收藏
admin_xyz
Rank: 2
等 级:论坛游民
帖 子:195
专家分:77
注 册:2012-6-24
结帖率:97.3%
收藏
已结贴  问题点数:5 回复次数:11 
竟然多了个1
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 100

int main()
{

    float  ten_hex = 0;
    int     inum = 0;
    float  fnum = 0;

    scanf ("%f", &ten_hex);

    inum = (int)ten_hex;
    fnum = ten_hex - inum;

    printf ("inum is %d\nfnum = %f\n", inum, fnum);    //输入123.456          结果   inum = 123, fnum = 0.456001        后面的1哪来的。。。

    return 0;
}
2012-09-02 20:36
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:1 
精度问题

★★★★★为人民服务★★★★★
2012-09-02 20:43
admin_xyz
Rank: 2
等 级:论坛游民
帖 子:195
专家分:77
注 册:2012-6-24
收藏
得分:0 
该怎么改呢,我想保留小数点后6位。不要随机数

总有人比你努力,可怕的是比你牛的人比你还努力。
2012-09-02 20:47
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
用double好一点
2012-09-02 20:48
admin_xyz
Rank: 2
等 级:论坛游民
帖 子:195
专家分:77
注 册:2012-6-24
收藏
得分:0 
double也有随机数

总有人比你努力,可怕的是比你牛的人比你还努力。
2012-09-02 20:52
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:1 
以下是引用admin_xyz在2012-9-2 20:52:32的发言:

double也有随机数

 ./a.exe
123.456
inum is 123
fnum = 0.456000

    double  ten_hex = 0;
    int     inum = 0;
    double  fnum = 0;

    scanf ("%lf", &ten_hex);

其实我一直没搞明白double输入的时候是%lf还是%f 好在输入浮点数的时候不多

其实原因是你这里实现方法不好 我感觉应该是这样

函数名: modf   功 能: 把数分为整数和小数 (The modf function breaks down the floating-point value x into fractional and integer parts, each of which has the same sign as x. The signed fractional portion of x is returned. The integer portion is stored as a floating-point value at intptr.      
用 法: double modf(double x, double *intptr);   程序例:   #include <math.h>   #include <stdio.h>   int main(void)   {   double fraction, integer;   double number = 100000.567;   fraction = modf(number, &integer);   printf("The whole and fractional parts of %lf are %lf and %lf\n",   number, integer, fraction);   return 0;   }

啊 百度百科复制过来就乱了 慢慢看罢
2012-09-02 21:00
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
http://baike.baidu.com/view/1682851.htm

我觉得应该用这个函数 就是上面贴的那些
2012-09-02 21:01
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
嘿嘿

授人以渔,不授人以鱼。
2012-09-02 21:02
ak47ar
Rank: 2
等 级:论坛游民
帖 子:7
专家分:15
注 册:2012-7-20
收藏
得分:1 
。。路过。。。
2012-09-02 21:03
admin_xyz
Rank: 2
等 级:论坛游民
帖 子:195
专家分:77
注 册:2012-6-24
收藏
得分:0 
先谢谢z版,问题虽然解决了,但是我的疑问还是没有解决。。。为什么后面会出现随机数呢?

总有人比你努力,可怕的是比你牛的人比你还努力。
2012-09-02 21:05
快速回复:竟然多了个1
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022487 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved