本文目录一览:
- 1、c语言怎么让输出值是小数?
- 2、C++如何把科学计数法转成正常数
- 3、c语言,输出科学计数法
- 4、在c++课上用科学计数法咋样表示小数
- 5、怎么把科学计数法字符串转换成浮点类型
- 6、VC中如何使用科学计数法表示小数?
c语言怎么让输出值是小数?
%d整型输出,%ld长整型输出,
%o以八进制数形式输出整数,
%x以十六进制数形式输出整数,
%u以十进制数输出unsigned型数据(无符号数)。
%c用来输出一个字符,
%s用来输出一个字符串,
%f用来输出实数,以小数形式输出,
%e以指数形式输出实数,
%g根据大小自动选f格式或e格式,且不输出无意义的零。
C++如何把科学计数法转成正常数
可以这样,
cout
std::scientific
a;
//科学计数法
cout
std::fixed
a;
//指定小数位
c语言,输出科学计数法
#include stdio.h
#include string.h
char num[110];
char result[110];
int len;
int main()
{
int i,j;
int s1,s2; //小数点位置,字符串首个非零数位置
int find1 = 0;
int find2 = 0; //find1:是否找到小数点位置标志位,find2:是否找到首个非零数位置,0:表示未找到
int index;
scanf("%s",num);
len = strlen(num); //读取字符串长度
for(i = 0;i len;++i) //寻找原字符串中小数点与首个非零数的位置
{
if(find1 find2)
break;
if(num[i] == '.'){
s1 = i;
find1 = 1;
}
else if(num[i] != '0' !find2){
find2 = 1;
s2 = i;
}
}
if(s1-s2 0) //根据二个位置确定指数大小
index = s1-s2-1;
else if(s2 s1)
index = s1-s2;
j = 0;
for(i = s2;i len;++i) //确定底数
{
if(num[i] == '.')
continue;
else if(i == s2) { //确定底数小数点位置
if(num[i+1]){
result[j++] = num[i];
result[j++] = '.';
}
else
result[j++] = num[i];
}
else
result[j++] = num[i];
}
result[j] = '\0';
printf("%se%d\n",result,index);
return 0;
}
在c++课上用科学计数法咋样表示小数
举例:
1.23 x 10^5 = 1.23e5
3.21 x 10^(-2) = 3.21e-2
这里的 e 就是底数 10,e 后面的就是指数
怎么把科学计数法字符串转换成浮点类型
可以使用库函数atof。
1 函数名 atof
2 声明
double atof(const char *nptr);
3 头文件
#include stdlib.h
4 功能
将参数nptr中的字符串转为浮点型数据并返回。
5 需要注意的是,必须是合法的字符串,即以实数形式或者科学计数法形式存储的字符串才可以进行转换,否则转换会出错。 比如"sjdhk"这样的字符串是无法转换为浮点数的。而如果是"1.23sdf"这样的形式,只会处理到最后一个数字,结果为1.23。
5 示例代码
#includestdlib.h
int main()
{
char*a="-100.23";//实数形式存储的字符串
char*b="200e-2";//科学计数法形式存储的字符串
double c;
c=atof(a)+atof(b);//转换后为 -100.23+200e-2=-100.23+2=-98.23
printf(“c=%.2lf\n”,c);//输出结果,保留2位小数。期望结果为c=-98.23
return 0;
}
VC中如何使用科学计数法表示小数?
由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成.
其一般形式为:a E n(a为十进制数,n为十进制整数)
其值为 a * (10^n)
如:
2.1E5 (等于 2.1 * (10^5) )
-2.8E-2 (等于 -2.8 * (10^-2) )