1. 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
2. Java中怎麼把浮點數轉變成整數只保留整數部分
通過轉換為字元串,再截取整數部分:
float a = 1.1f;//定義一個浮點變數a
String str = String.valueOf(a);//浮點變數a轉換為字元串str
int idx = str.lastIndexOf(".");//查找小數點的位置
String strNum = str.substring(0,idx);//截取從字元串開始到小數點位置的字元串,就是整數部分
int num = Integer.valueOf(strNum);//把整數部分通過Integer.valueof方法轉換為數字
擴展資料:
Java的浮點類型有兩種:float和double。
Java的浮點類型有固定的表數范圍和欄位長度,欄位長度和表數范圍和機器無關,double類型代表雙精度浮點數,float類型代表單精度浮點數。
Java的浮點數遵循IEEE754標准,採用二進制數據的科學計數法來表示浮點數,對於float型數值,第1位是符號位,接下里8位表示指數,再接下來的23位表示尾數;對於double類型數值,第一位也是符號位,接下來的11位表示指數,再接下來的52位表示尾數。