本文目錄一覽:
- 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) )
原創文章,作者:WZYP,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/133153.html