| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 449 人关注过本帖
标题:请教大神一问题。。
只看楼主 加入收藏
a442841609
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-11-19
结帖率:0
收藏
已结贴  问题点数:10 回复次数:8 
请教大神一问题。。
C语言中如果要控制double型数据保留小数点后多少位用%.xlf   这里的x必须为数字吗?如果是的话如果我想通过输入的数据来控制保留的位数应该肿么做呢。。。
搜索更多相关主题的帖子: double 小数点 C语言 
2012-12-08 20:59
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:2 
如果不为数字应该也就代表不了什么了...如:
printf("%0.2lf",a);  //保留两位小数


I have not failed completely
2012-12-08 21:04
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
以下是引用神龙赖了在2012-12-8 21:04:01的发言:

如果不为数字应该也就代表不了什么了...如:
printf("%0.2lf",a);  //保留两位小数
printf("%0.Mlf",a);  //楼主的意思这个M是个变量  传入几  就保留几位小数

DO IT YOURSELF !
2012-12-08 21:05
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:2 
楼主想要的功能是有的,用*占位。

试试下面的实验代码。顺便提个小知识点:在输出时%f可以输出浮点型,不管是单精度还是双精度,所以没必要使用%lf。当然用了也没什么问题。
程序代码:
#include<stdio.h>
int main()
{
    int i;
    double a = 2.0 / 3;
    scanf("%d", &i);
    printf("%.*f\n", i, a);
    return 0;
}

重剑无锋,大巧不工
2012-12-08 21:13
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1698
专家分:4310
注 册:2007-12-27
收藏
得分:2 
double a;
int n;
char f[20];
a=......;//a就是你要输出的double
scanf("%d",&n);
sprintf(f,"%%0.%dlf",n);
printf(f,a);

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2012-12-08 21:14
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用beyondyf在2012-12-8 21:13:19的发言:

楼主想要的功能是有的,用*占位。

试试下面的实验代码。顺便提个小知识点:在输出时%f可以输出浮点型,不管是单精度还是双精度,所以没必要使用%lf。当然用了也没什么问题。#include
int main()
{
    int i;
    double a = 2.0 / 3;
    scanf("%d", &i);
    printf("%.*f\n", i, a);
    return 0;
}
学习

DO IT YOURSELF !
2012-12-08 21:15
a442841609
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-11-19
收藏
得分:0 
非常感谢~~~~知道了!
2012-12-09 10:22
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:2 
以下是引用beyondyf在2012-12-8 21:13:19的发言:

楼主想要的功能是有的,用*占位。

试试下面的实验代码。顺便提个小知识点:在输出时%f可以输出浮点型,不管是单精度还是双精度,所以没必要使用%lf。当然用了也没什么问题。#include
int main()
{
    int i;
    double a = 2.0 / 3;
    scanf("%d", &i);
    printf("%.*f\n", i, a);
    return 0;
}
学习了,以前听都没听过printf还能这样做

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-09 13:02
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:2 
学习,很多细节都不知道,这就是个例子

小小战士,战士中的战斗机!
2012-12-09 13:19
快速回复:请教大神一问题。。
数据加载中...
 
   



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

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