首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于float 和 double解决方法

2012-03-19 
关于float 和 double写了:#include 水分子.h#includestdio.hint main(void){float mass_qt 950floa

关于float 和 double
写了:
#include "水分子.h"
#include<stdio.h>
int main(void)
{

float mass_qt = 950;
float quarts;
float s = 2.0;
double mole = 3.0e-19;
double total;


printf("请输入夸脱数量:____\b\b\b\b");
scanf_s("%f",&quarts);
total = quarts * mass_qt / mole; //水分子总数
printf("%f 夸脱内有 %e 个水分子 %f \n",quarts,total,s);
return 0;

}


调试:
1>------ 已启动生成: 项目: 水分子, 配置: Debug Win32 ------
1>正在编译...
1>水分子.cpp
1>.\水分子.cpp(8) : warning C4305: “初始化”: 从“double”到“float”截断
1>正在链接...
1>正在嵌入清单...
1>生成日志保存在“file://e:\vs2008project\exercise+c\水分子\水分子\Debug\BuildLog.htm”
1>水分子 - 0 个错误,1 个警告
========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========


疑问:float s 是后来加上去的,之前按照书上把 mole 定义为float;被截断了,后来我加了个 float s 来试验一下,只有2.0e1到2.0e10是不会有警告,2.0e11、2.0e12、2.0e-1、2.0e-2、就连2.3都不行,等等,各种无语!

望各位高手,帮帮忙,小弟感激涕零,VS2008.

[解决办法]

C/C++ code
#include "水分子.h"#include<stdio.h>int main(void){float mass_qt = 950f;float quarts;float s = 2.0f;double mole = 3.0e-19;double total;printf("请输入夸脱数量:____\b\b\b\b");scanf_s("%f",&quarts);total = quarts * mass_qt / mole; //水分子总数printf("%g 夸脱内有 %lg 个水分子 %g \n",quarts,total,s);return 0;}
[解决办法]
2.0e11是double型常量。
你可是试着写成2.0e11f,看看是什么效果。
[解决办法]
只是警告信息阿,没有问题的 ;

float 和 double类型转换的时候知道是怎么转的就行了;

楼主给点分我吧,我没分用了,帖子都发不了;
[解决办法]
实数常数默认是double,加后缀f可以强制指定是float。

热点排行