最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java如何將一個float型數(shù)的整數(shù)部分和小數(shù)分別輸出顯示

 更新時間:2022年07月12日 11:11:58   作者:frozen122  
這篇文章主要介紹了java如何將一個float型數(shù)的整數(shù)部分和小數(shù)分別輸出顯示,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

將一個float型數(shù)的整數(shù)部分和小數(shù)分別輸出顯示

三種方法

方一:直接類型轉(zhuǎn)換,再加減,問題是類型轉(zhuǎn)換導(dǎo)致的小數(shù)位數(shù)精確度變化,目前沒找到解決方法

方二:轉(zhuǎn)換成字符串后運用.split方法直接從小數(shù)點處切分

方三:轉(zhuǎn)換成字符串后,標記小數(shù)點位置后,用substring方法分別構(gòu)造兩個子字符串

注意點:

  • 負數(shù)取整,例 -1.2 的整數(shù)部分是 -2,小數(shù)部分是0.8
//三種方法
//負數(shù)和正數(shù)的整數(shù)情況需要分開考慮
import java.util.*;
public class Split {
	
	public static void main(String[] args) {
		float num,b;
		int a,pointIndex;
		
		Scanner s = new Scanner(System.in);
		System.out.println("請輸入一個float數(shù):");
		num = s.nextFloat();
//		判斷正負
		if(num >=0) {
//			正數(shù)部分計算
//			方法一:直接轉(zhuǎn)換數(shù)字類型后加減,問題是轉(zhuǎn)換類型會導(dǎo)致小數(shù)部分變化,不知道怎么解決!!
			a = (int) num;
			b = num - a;
			System.out.println(num + "整數(shù)部分:" + a);
			System.out.println(num + "小數(shù)部分:" + b);
			
//			方法二:轉(zhuǎn)換成字符串,用方法split按小數(shù)點前后分割
			String str = String.valueOf(num);                   //將float類型轉(zhuǎn)換成字符串
			String[] ary = str.split("\\.");			
			System.out.println(num + "整數(shù)部分為:" + ary[0]);
			System.out.println(num + "小數(shù)部分為:" + "0." + ary[1]);
			
//			方法三:同樣轉(zhuǎn)換成字符串,用方法indexOf標記小數(shù)點位置
			pointIndex = str.indexOf('.');
			System.out.println(num + "的整數(shù)部分為:" + str.substring(0,pointIndex));
			System.out.println(num + "的小數(shù)部分為:" + "0" + str.substring(pointIndex,str.length()));			
	    }
		
//		負數(shù)部分計算,注意,-1.7的正數(shù)部分是-2,小數(shù)部分是0.3
		else {
//			方一
			a = (int) num - 1;
			b = num - a;
			System.out.println(num + "整數(shù)部分:" + a);
			System.out.println(num + "小數(shù)部分:" + b);
//			方二
			String str = String.valueOf(num);                   //將float類型轉(zhuǎn)換成字符串
			String[] ary = str.split("\\.");	
			a = Integer.parseInt(ary[0]) -1;
			b = 1 - Float.parseFloat("0." + ary[1]);            //需要計算,再次轉(zhuǎn)換成float類型
			System.out.println(num + "整數(shù)部分為:" + a);
			System.out.println(num + "小數(shù)部分為:" + b);
			
//			方三
			pointIndex = str.indexOf('.');
			a = Integer.parseInt(str.substring(0,pointIndex)) -1;
			b = 1 - Float.parseFloat("0" + str.substring(pointIndex));
			System.out.println(num + "的整數(shù)部分為:" + a);
			System.out.println(num + "的小數(shù)部分為:" + b);						
		}				
	}
}

這一題非常適合后面做按鈕練習

java. float 取整

  • 向上取整:
Math.ceil() //只要有小數(shù)都+1
  • 向下取整:
Math.floor() //不取小數(shù)
  • 四舍五入:
Math.round() //四舍五入

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java json與map互相轉(zhuǎn)換的示例

    java json與map互相轉(zhuǎn)換的示例

    這篇文章主要介紹了java json與map互相轉(zhuǎn)換的示例,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-10-10
  • Netty通道的容器屬性Attribute詳解

    Netty通道的容器屬性Attribute詳解

    這篇文章主要介紹了Netty通道的容器屬性Attribute詳解,Netty中的Channel通道類,有類似于Map的容器功能,可以通過鍵值對的形式來保存任何Java Object的值,一般來說可以存放一些與通道實例相關(guān)聯(lián)的屬性,比如說服務(wù)期端的ServerSession會話實例,需要的朋友可以參考下
    2023-12-12
  • 關(guān)于spring中bean注冊的優(yōu)先級分析

    關(guān)于spring中bean注冊的優(yōu)先級分析

    Spring框架中,Bean的定義方式主要有三種:XML定義、注解掃描和配置類中的@Bean注解,在Bean注冊過程中,XML定義的GenericBeanDefinition優(yōu)先級最高
    2024-09-09
  • 基于kafka實現(xiàn)Spring Cloud Bus消息總線

    基于kafka實現(xiàn)Spring Cloud Bus消息總線

    消息總線是一種通信工具,可以在機器之間互相傳輸消息、文件等,這篇文章主要介紹了如何利用kafka實現(xiàn)SpringCloud Bus消息總線,感興趣的可以學習一下
    2022-04-04
  • java實現(xiàn)航空用戶管理系統(tǒng)

    java實現(xiàn)航空用戶管理系統(tǒng)

    這篇文章主要為大家詳細介紹了java實現(xiàn)航空用戶管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • java實現(xiàn)表格數(shù)據(jù)的存儲

    java實現(xiàn)表格數(shù)據(jù)的存儲

    這篇文章主要為大家詳細介紹了java實現(xiàn)表格數(shù)據(jù)的存儲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • JAVA初探設(shè)計模式的六大原則

    JAVA初探設(shè)計模式的六大原則

    這篇文章主要介紹了JAVA初探設(shè)計模式的六大原則,對設(shè)計模式感興趣的同學,可以參考下
    2021-05-05
  • Mybatis-Plus實現(xiàn)SQL攔截器的示例

    Mybatis-Plus實現(xiàn)SQL攔截器的示例

    這篇文章主要介紹了Mybatis-Plus實現(xiàn)一個SQL攔截器,通過使用SQL攔截器,開發(fā)人員可以在執(zhí)行SQL語句之前或之后對其進行修改或記錄,從而更好地控制和優(yōu)化數(shù)據(jù)庫操作,對Mybatis-Plus?SQL攔截器相關(guān)知識感興趣的朋友一起看看吧
    2023-05-05
  • Java線程池詳細解讀

    Java線程池詳細解讀

    這篇文章主要給大家介紹了關(guān)于Java中方法使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-08-08
  • java 中的volatile關(guān)鍵字

    java 中的volatile關(guān)鍵字

    這篇文章主要介紹了java 中的volatile關(guān)鍵字,volatile在多處理器開發(fā)中保證共享變量的“可見性”??梢娦缘囊馑际钱斠粋€線程修改一個共享變量時,另一個一個線程立馬可以讀到這個修改的值。下面我們來看看文章的具體介紹內(nèi)容吧

    2021-12-12

最新評論

承德县| 镇坪县| 富平县| 衡水市| 大化| 张家川| 大理市| 济阳县| 万载县| 惠水县| 阿克陶县| 宁陕县| 沧源| 宁国市| 临洮县| 晋中市| 买车| 乐都县| 桑日县| 丁青县| 汉中市| 册亨县| 武威市| 刚察县| 济源市| 遂川县| 双鸭山市| 长汀县| 东乌珠穆沁旗| 襄汾县| 江孜县| 临泉县| 定兴县| 巴东县| 镇康县| 阳新县| 教育| 余姚市| 元氏县| 绍兴市| 京山县|