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

Java?Float?保留小數(shù)位精度的實現(xiàn)

 更新時間:2021年12月10日 16:51:27   作者:科學之星  
這篇文章主要介紹了Java?Float?保留小數(shù)位精度的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Float 保留小數(shù)位精度

DecimalFormat decimalFormat=new DecimalFormat(".00");
return Float.valueOf(super.getDecimalFormat().format(new BigDecimal(handleTime)));

Float 浮點型數(shù)據(jù)保留兩位小數(shù)

用過兩種方法:DecimalFormat和Math.round()。

用法:

1、DecimalFormat

String java.text.NumberFormat.format(double number)方法

float f = 0.5555f;
DecimalFormat df1 = new DecimalFormat("#.00");//保留兩位小數(shù),如果是零點幾,則小數(shù)點前的0不顯示,小數(shù)點后幾個零就保留幾位
df1.format(f);
#表示該位如果是0則不必顯示出來,0則表示該位如果是0仍然顯示;

函數(shù)的定義是:;

所以,傳參是double,也可以傳float(隱式轉(zhuǎn)換),最后的結(jié)果是String類型。

2、Math.round()

int java.lang.Math.round(float a)方法

float f = 1.222f;
f = Math.round(f * 100) / 100f;//乘以100,然后除以100轉(zhuǎn)換為浮點類型
/**乘以多少就保留多少位小數(shù)
**注意Math.round()方法傳float類型!
*/

兩種方法都會四舍五入。

如果是浮點類型建議用Math.round方法,也可以根據(jù)自己需求diy代碼。

詳細講解請看代碼注釋和控制臺輸出:(包含decimalFloat的格式、Math.round函數(shù)的實現(xiàn)邏輯)

package testMap; 
import java.text.DecimalFormat; 
public class TestFloat { 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//四舍五入保留兩位
		float f = 0.5555f;
		//decimalFormat是將double類型數(shù)據(jù)轉(zhuǎn)換為字符串,并進行格式化
		//#表示這位如果是0則不必顯示出來,0則表示這位如果是
		//format函數(shù):String java.text.NumberFormat.format(double number)
		DecimalFormat df1 = new DecimalFormat("#.00");//首位0不顯示出來,即0.1顯示為  .1
		DecimalFormat df2 = new DecimalFormat("0.00");//首位0顯示出來,即0.1顯示為 0.1
		System.out.println("--------DecimalFormat----------");
		System.out.println("df1==" + df1.format(f));
		System.out.println("df2==" + df2.format(f));
 
		System.out.println(df1.format(f).getClass());//String類型
		System.out.println(Float.parseFloat(df1.format(f)));//轉(zhuǎn)換為float類型
		System.out.println(String.valueOf(df1.format(f)));
//		System.out.println(Float.toString(df1.format(f)));//轉(zhuǎn)換為String類型
		
		f = 0.595f;
		//Math.round()方法是將浮點類型數(shù)據(jù) 乘以10的多少次方 ,取整,然后 + 0.5 除以10的多少次方,取小數(shù)點后多少位
//		如乘以1000 則取小數(shù)點后3位
		System.out.println("---------Math.round()----------");
		System.out.println(Math.round(f * 100) / 100f);//四舍五入后如果末尾是0,自動省略,不顯示
		
//		System.out.println(df1.format("1.2"));//參數(shù)必須是數(shù)值型String java.text.NumberFormat.format(double number)
		System.out.println(Float.toString(f));//轉(zhuǎn)換為String輸出效果
		System.out.println(Float.toString(f));//轉(zhuǎn)換為String輸出效果
				
		System.out.println("-----------Math.round()的正數(shù)非特殊值實現(xiàn)邏輯--------------");
		f = 11.115111f;
		int b = (int) (f * 100 + 0.5);
		float a = b / 100f;
		System.out.println("a==" + a);
		System.out.println((int)(f * 100 + 0.5) / 100f);
		
		f = -12.115f;
		System.out.println("負數(shù)" + Math.round(f * 100) / 100f);
		f = -12.116f;
		System.out.println("負數(shù)" + Math.round(f * 100) / 100f);		
		
		System.out.println("-------Math.round()的負數(shù)非特殊值實現(xiàn)邏輯--------");
		int c = (int) (f * 100 - 0.5);
		float d = c / 100f;
		System.out.println("d==" + d);
		System.out.println((int)(d * 100 - 0.5) / 100f);
	} 
}

控制臺輸出:

截圖如下:

----下面的是控制臺輸出-----(和上面一樣的,怕圖片丟失)

--------DecimalFormat----------
df1==.56
df2==0.56
class java.lang.String
0.56
.56
---------Math.round()----------
0.6
0.595
0.595
-----------Math.round()的正數(shù)非特殊值實現(xiàn)邏輯--------------
a==11.12
11.12
負數(shù)-12.11
負數(shù)-12.12
-------Math.round()的負數(shù)非特殊值實現(xiàn)邏輯--------
d==-12.12
-12.12

順便貼上NumberFormat.formart()的代碼:

/**
     * Specialization of format.
     *
     * @param number the double number to format
     * @return the formatted String
     * @exception        ArithmeticException if rounding is needed with rounding
     *                   mode being set to RoundingMode.UNNECESSARY
     * @see java.text.Format#format
     */
    public final String format(double number) {
        // Use fast-path for double result if that works
        String result = fastFormat(number);
        if (result != null)
            return result;
 
        return format(number, new StringBuffer(),
                      DontCareFieldPosition.INSTANCE).toString();
    }

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

相關(guān)文章

  • 如何在Maven項目配置pom.xml指定JDK版本和編碼

    如何在Maven項目配置pom.xml指定JDK版本和編碼

    maven是個項目管理工具,如果我們不告訴它要使用什么樣的jdk版本編譯,它就會用maven-compiler-plugin默認的jdk版本來處理,這樣就容易出現(xiàn)版本不匹配的問題,這篇文章主要給大家介紹了關(guān)于如何在Maven項目配置pom.xml指定JDK版本和編碼的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Jmeter環(huán)境搭建及安裝步驟

    Jmeter環(huán)境搭建及安裝步驟

    Jmeter是純Java開發(fā)的,能夠運行Java程序的系統(tǒng)一般都可以運行Jmeter,本文以windows下安裝步驟為例分步驟給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • Spring Mvc中傳遞參數(shù)方法之url/requestMapping詳解

    Spring Mvc中傳遞參數(shù)方法之url/requestMapping詳解

    在開發(fā)中,參數(shù)傳遞是必不可少的一個功能,下面這篇文章主要給大家介紹了關(guān)于Spring Mvc中傳遞參數(shù)方法之url/requestMapping的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • Spring前后端跨域請求設置代碼實例

    Spring前后端跨域請求設置代碼實例

    這篇文章主要介紹了Spring前后端跨域請求設置代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • Java主流壓縮解壓工具對比、用法與選取詳解

    Java主流壓縮解壓工具對比、用法與選取詳解

    開發(fā)過程中可能會用到壓縮文件的需求,下面這篇文章主要給大家介紹了關(guān)于Java主流壓縮解壓工具對比、用法與選取的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • idea2019.2安裝MybatisCodeHelper插件的超詳細教程

    idea2019.2安裝MybatisCodeHelper插件的超詳細教程

    這篇文章主要介紹了idea2019.2安裝MybatisCodeHelper插件的教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • 簡單了解Spring Cloud搭建Config過程實例

    簡單了解Spring Cloud搭建Config過程實例

    這篇文章主要介紹了簡單了解Spring Cloud搭建Config過程實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • 詳解Java Ajax jsonp 跨域請求

    詳解Java Ajax jsonp 跨域請求

    本篇文章主要介紹了詳解Java Ajax jsonp 跨域請求,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 到底如何設置Java線程池的大小的方法示例

    到底如何設置Java線程池的大小的方法示例

    在我們?nèi)粘I(yè)務開發(fā)過程中,或多或少都會用到并發(fā)的功能。那么并發(fā)線程池到底設置多大呢?文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • Spring Boot與RabbitMQ結(jié)合實現(xiàn)延遲隊列的示例

    Spring Boot與RabbitMQ結(jié)合實現(xiàn)延遲隊列的示例

    本篇文章主要介紹了Spring Boot與RabbitMQ結(jié)合實現(xiàn)延遲隊列的示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11

最新評論

泉州市| 渭源县| 嘉善县| 富源县| 宝坻区| 彭州市| 晋江市| 卓尼县| 临沧市| 文化| 泽普县| 阿克苏市| 台州市| 天津市| 五莲县| 通辽市| 彰化市| 呈贡县| 城步| 乳山市| 兴义市| 察雅县| 泗水县| 保德县| 尉氏县| 犍为县| 图木舒克市| 固镇县| 甘孜县| 阳朔县| 翁牛特旗| 黑龙江省| 南宁市| 武冈市| 米脂县| 普洱| 广河县| 同心县| 云阳县| 宜春市| 景泰县|