❶ java 輸入一個任意的浮點數,例如3.123456789,保留其兩位小數輸出,無需四捨五入(求詳細的講解)
方法一:
你可以先將浮點數乘以100,然後取整,非四捨五入,取整後再除以100,這樣不就得到了兩位小數的輸出了嘛
方法二:
你還可以強制轉換為String的,然後取從開始到小數點往後兩位的位置結束的字元串,然後再強制轉換為float值不也可以么
方法很多,這只是其中兩種方法,多思考一下會有方法的。另外要多查API文檔,別手懶就好,詳細代碼我就不給你寫了,自己想想怎麼寫,我把代碼給你寫出來的話你就不會去思考了。
❷ java編寫程序,接收用戶輸入的10個浮點數,保存在數組date中,按從大到小的順序
import java.util.Arrays;
import java.util.Scanner;
public class PrintDouble
{
public static void main(String [] args){
double[] date = new double[10];
Scanner sc = new Scanner(System.in);
for(int i = 0; i < 10; i++){
System.out.println("請輸入第" + (i+1) + "個數");
date[i] = sc.nextDouble();
}
Arrays.sort(date);
for(int i = 0; i < 10; i++){
System.out.println(date[i]);
}
}
}
自己手工寫的請採納
❸ java 浮點數計算問題
這是位運算,一般在硬體控制方面用的多,光看錶達式的話無法知道其具體的意義是什麼。得結合實際才行。
&叫做「按位與」,其規則是:0&0=0 1&0=0 0&1=0 1&1=1
「|」叫做「按位或」,運算規則是:0|0=0 1|0=1 0|1=1 1|1=1
0x7fffff用32位二進製表示就是 0000 0000 0111 1111 1111 1111 1111 1111
根據按位與的運演算法則就是把bits的高9位清零。
0x800000用32位二進製表示是 0000 0000 1000 0000 0000 0000 0000 0000
根據按位或的運演算法則就是把第24位置1。
那麼綜合來看,((bits & 0x7fffff)|0x800000)的意思就是先把bits的高9位清零,然後再把第24位置1。
關於前半部分,「<<」叫做左移,就是把所有二進制位向左移動若干位。和上面同理,就是先把bits的高9位清零後,再左移一位。
至於問號,就不用解釋了吧?
❹ 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位表示尾數。