| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 770 人关注过本帖, 1 人收藏
标题:求小数的位数
只看楼主 加入收藏
明明白白
Rank: 2
等 级:论坛游民
帖 子:57
专家分:61
注 册:2012-3-19
收藏
得分:0 
回复 10楼 wp231957
#include<stdio.h>
int main()
{
    double dec = 5550.687;
    int i=0;
    while(1)
    {
        dec=dec-(int)dec;
        if(dec*10-(int)(dec*10)<0.0000001) break;
        i++;
        dec=dec*10;
    }
    i++;
   
    printf("%d",i);
   
}你试试
2012-11-19 21:36
cyhdahua
Rank: 7Rank: 7Rank: 7
来 自:山东
等 级:黑侠
威 望:2
帖 子:221
专家分:643
注 册:2012-6-15
收藏
得分:10 
试试这个吧
程序代码:
#include <stdio.h>
#include<string.h>
int main ()
{
    double dec;
    scanf("%lf",&dec);
    char str[100];
    sprintf(str,"%lf",dec);
    int len=strlen(str);
    int count=0,zero=0;
    for(char c=str[--len];c!='.';c=str[--len]){
        if(c-'0'!=0){
            zero=1;
        }
        if(zero)
            count++;
    }
    printf("%d",count);
    return 0;
}


WE GO
2012-11-19 21:42
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
  sprintf(str,"%lf",dec);
小陈的方法好,我还不知道C有这个函数呢

DO IT YOURSELF !
2012-11-19 21:53
cyhdahua
Rank: 7Rank: 7Rank: 7
来 自:山东
等 级:黑侠
威 望:2
帖 子:221
专家分:643
注 册:2012-6-15
收藏
得分:0 
呵呵
这个还不够好,输出不了123456.123456780900
你们改一下哦

WE GO
2012-11-19 22:03
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用cyhdahua在2012-11-19 22:03:20的发言:

呵呵
这个还不够好,输出不了123456.123456780900
你们改一下哦
double 有那么大的精度吗,不就是小数点后6位吗

DO IT YOURSELF !
2012-11-19 22:05
cyhdahua
Rank: 7Rank: 7Rank: 7
来 自:山东
等 级:黑侠
威 望:2
帖 子:221
专家分:643
注 册:2012-6-15
收藏
得分:0 
有啊
改成这个试试
    sprintf(str,"%10.16f",dec);
%lf在printf下是未定义的

WE GO
2012-11-19 22:08
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 

测试了

printf("3/59=%10.16lf\n",double(3.0/59.0));

DO IT YOURSELF !
2012-11-19 22:11
快速回复:求小数的位数
数据加载中...
 
   



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

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