導航:首頁 > 編程語言 > java轉換科學計數法

java轉換科學計數法

發布時間:2023-06-11 15:18:16

1. java科學記數法如何轉化成普通記數法

可以藉助java.text.DecimalFormat類,先將科學記數法轉為指定的格式的字元串,再轉為需要的普通計數法。代碼可以參考:

doublea=1.1234546789E6;
java.text.DecimalFormatdf=newjava.text.DecimalFormat("00.00");//""00.00"小數點後面的0的個數表示小數點的個數
Stringb=df.format(a);

2. JAVA 關於科學計數法的解決

import java.util.Arrays;
class Animal
{
static String str = "3.4E-5";
static double 轉換後的數 = 0;
public static void main(String[] args)
{

Animal animal = new Animal();
轉換後的數 = animal.conversion(str);

double[] buf = {2,0.1234,轉換後的數,0.1234,0.1234};
String[] ss = new String[buf.length];
Arrays.sort(buf);//從小到大排列

for(int i = 0; i < buf.length;i++)
{
if(buf[i] == 轉換後的數)//如果是原來的科學計數,將原來的str存至ss數組
{
ss[i] = str;
}
else
ss[i] = buf[i] + "";
}//列印出排列後的結果
System.out.print("比較後:" );
for(String s : ss)
System.out.print(s + " "); }

//將科學計數轉換成正常數字
public double conversion(String str)
{
String[] s = str.split("E-");
double num1 = Double.parseDouble(s[0]);
double num2 = Double .parseDouble(s[1]);
return num1 * Math.pow(10d, num2);
}
} 運行結果:比較後:0.1234 0.1234 0.1234 2.0 3.4E-5

3. JAVA如何將浮點數輸出為指定位數的科學計數法

希望可以幫到你:

	@Test
publicvoidtest4(){
floatexp1=1.39e-43f;
System.out.println("科學計數法1=="+exp1);//表示1.39乘以10的負43次方

doubleexp2=47*;
System.out.println("科學計數法2=="+exp2);//表示47乘以10的37次方===4.7E38

floatexp3=1e-43f;//此時43後面必須加上f,否則會報錯.編譯器同擦汗那個會將指數最為雙精度處理。
System.out.println("科學計數法3=="+exp3);//表示1乘以10的負43次方
System.out.printf("%9.2f",exp3);
System.out.printf("%-9.2f",exp3);
// longn=200;//此時不需要在200後面加l,因為編譯器能識別這個類型,在這里不存在含混不清的地方。
// System.out.println(n);
//
// doubled=345.678;
// Strings="hello!";
// inti=1234;
// //"%"表示進行格式化輸出,"%"之後的內容為格式的定義。
// System.out.printf("%f",d);//"f"表示格式化輸出浮點數。
// System.out.printf("%9.2f",exp3);//"9.2"中的9表示輸出的長度,2表示小數點後的位數。
// System.out.printf("%+9.2f",d);//"+"表示輸出的數帶正負號。
// System.out.printf("%-9.4f",d);//"-"表示輸出的數左對齊(默認為右對齊)。
// System.out.printf("%+-9.3f",d);//"+-"表示輸出的數帶正負號且左對齊。
// System.out.printf("%d",i);//"d"表示輸出十進制整數。
// System.out.printf("%o",i);//"o"表示輸出八進制整數。
// System.out.printf("%x",i);//"d"表示輸出十六進制整數。
// System.out.printf("%#x",i);//"d"表示輸出帶有十六進制標志的整數。
// System.out.printf("%s",s);//"d"表示輸出字元串。
// System.out.printf("輸出一個浮點數:%f,一個整數:%d,一個字元串:%s",d,i,s);//可以輸出多個變數,注意順序。
// System.out.printf("字元串:%2$s,%1$d的十六進制數:%1$#x",i,s);//"X$"表示第幾個變數。
}

4. java中數值類型轉換的問題,double類型顯示科學計數法了。

在顯示時候調用的是Double類的toString()方法。原因如下:

那麼decExponent屬性究竟是什麼呢?簡單來說,

就是小數點向左移動decExponent就是正數,向右移動就是負數。移動幾位就是幾。

而具體移動規則是移動到小數點左邊為0,右邊為非0時候停止。

5. Java中如何使用科學計數法

java支持輸入數字的時候直接使用科學計數法:
double
d
=
1.213123123123e100;
如果太大了或者小樹點太多了好像會損失精度。
另外如果真的不行就用java.math.BigDecimal,裡面是用字元串處理數據的要多長有多長,就是速度比較慢

閱讀全文

與java轉換科學計數法相關的資料

熱點內容
pubg用什麼伺服器 瀏覽:524
田漢pdf 瀏覽:661
記錄儀如何安裝安卓系統 瀏覽:594
python求灰度均值 瀏覽:756
c編譯器是系統軟體嗎 瀏覽:694
獲取伺服器內網地址 瀏覽:536
新手媽媽如何帶新生兒APP 瀏覽:157
java日程管理 瀏覽:376
高清視頻鏈接加密 瀏覽:407
新買的阿里雲伺服器怎麼配置 瀏覽:612
在線編譯器為什麼刷新還在 瀏覽:211
雲伺服器系統盤可以裝資料庫 瀏覽:906
php繪制圖形 瀏覽:588
支付伺服器異常怎麼辦 瀏覽:76
java撥號 瀏覽:866
er5200如何設置虛擬伺服器 瀏覽:571
網路中心伺服器叫什麼 瀏覽:459
isplay單片機下載器 瀏覽:480
怎麼查看伺服器地址和埠 瀏覽:186
加密朋克ai 瀏覽:157