标题:关于double型的初级问题
只看楼主
不就编程
Rank: 1
来 自:常州
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-6-26
 问题点数:0 回复次数:6 
关于double型的初级问题
一个很早以前的问题,突然想到,提一下。
下面是一个将“  元”转换成“  元  分”的简单程序:

#include<stdio.h>
int main(void)
{
    int count=0;
    float amounts[5];
    long dollars[5],cents[5];
    for(count=0;count<=0;count++)
    {
        printf("输入第%d次钱数:",count+1);
        scanf("%f",&amounts[count]);
        dollars[count]=(long)amounts[count];
        cents[count]=((amounts[count]*100-dollars[count]*100));
    }
    for(count=0;count<=0;count++)
    printf("金额为%ld元%ld分\n",dollars[count],cents[count]);
    return 0;
}


输入 14.45(元)    它会输出14(元)  44(分)
请解释一下,谢谢~~~
搜索更多相关主题的帖子: double 初级 float void count 
2008-06-28 21:03
qGemini
Rank: 1
等 级:禁止访问
帖 子:100
专家分:0
注 册:2008-6-28
得分:0 
cents[count]=((amounts[count]*100-dollars[count]*100));

cents[count]=((amounts[count]*100-dollars[count]*100))+0.5;
试试

Gemini  C/C++群57751397
本人不对自己的言论负责

http://
2008-06-28 21:36
himpo
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:192
专家分:123
注 册:2008-5-16
得分:0 
浮点数的问题吧??
2008-06-28 21:43
不就编程
Rank: 1
来 自:常州
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-6-26
得分:0 
单输入 12.55 就会输出  12  55
2008-06-28 21:46
himpo
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:192
专家分:123
注 册:2008-5-16
得分:0 
建议你用一个%f
输出amounts[count]看看就知道了吧。
2008-06-28 21:54
coming
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2008-4-20
得分:0 
精度的问题哦
2008-06-29 00:44
hczsea
Rank: 2
等 级:论坛游民
帖 子:129
专家分:68
注 册:2007-10-23
得分:0 
浮点格式数据存储问题。
2008-07-01 17:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-221773-1-1.html




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

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