Java輸出多位小數(shù)的三種方法(附代碼)
方法一:String類的方式
最常用的方式:
double a=3.141111; System.out.println(String.format("%.1f",a));//保留一位小數(shù) System.out.println(String.format("%.2f",a));//保留兩位小數(shù) System.out.println(String.format("%.3f",a));//保留三位小數(shù) System.out.print(String.format("%.4f",a));//用print可以取消換行
方法二:printf格式化輸出
與C語(yǔ)言相似,Java中也可以通過(guò)printf輸出:
double a=3.141111; System.out.printf("%.1f",a);//保留一位小數(shù) System.out.printf("%.2f",a);//保留兩位小數(shù) System.out.printf("%.3f",a);//保留三位小數(shù) System.out.printf("%.4f\n",a);//加\n可以換行
方法三:DecimalFormat類的方式
DecimalFormat 是 NumberFormat 的一個(gè)具體子類,用于格式化十進(jìn)制數(shù)字,主要靠0和#兩個(gè)占位符號(hào)。#表示如果盡可能占需占的位數(shù)。0表示如果位數(shù)不足則用0補(bǔ)足。
//class前=導(dǎo)入: import java.text.DecimalFormat;
//#的使用: DecimalFormat a = new DecimalFormat("#.#"); System.out.println(a.format(12.34)); //打印12.34 DecimalFormat a = new DecimalFormat("#.#"); System.out.println(a.format(12.34)); //打印12.34 DecimalFormat a = new DecimalFormat("##.##"); System.out.println(a.format(12.34)); //打印12.34 DecimalFormat a = new DecimalFormat("###.###"); System.out.println(a.format(12.34)); //打印12.34
可以看出,#好像并沒(méi)有什么作用,該打印什么就打印什么,但并不是這樣的,它是與大多與0一起使用,起著很大的作用。
//0的使用: DecimalFormat a = new DecimalFormat("0.0"); System.out.println(a.format(12.34)); //打印12.34 DecimalFormat a = new DecimalFormat("00.00"); System.out.println(a.format(12.34)); //打印12.34 DecimalFormat a = new DecimalFormat("000.000"); System.out.println(a.format(12.34)); //打印012.340
//#和0的使用 DecimalFormat a = new DecimalFormat("#.#"); System.out.println(a.format(12.34)); //打印12.34 DecimalFormat a = new DecimalFormat("#.#"); System.out.println(a.format(12.34)); //打印12.34 DecimalFormat a = new DecimalFormat("##.##"); System.out.println(a.format(12.34)); //打印12.34
舉例(完整代碼):
import java.text.DecimalFormat; public class Test { public static void main(String[] args) { DecimalFormat a = new DecimalFormat("#.00"); System.out.println(a.format(12.34567)); //四舍五入輸出12.35 } }
總結(jié)
到此這篇關(guān)于Java輸出多位小數(shù)的三種方法的文章就介紹到這了,更多相關(guān)Java輸出多位小數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(11)
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你2021-07-07詳解Java使用Pipeline對(duì)Redis批量讀寫(xiě)(hmset&hgetall)
本篇文章主要介紹了Java使用Pipeline對(duì)Redis批量讀寫(xiě)(hmset&hgetall),具有一定的參考價(jià)值,有興趣的可以了解一下。2016-12-12Java中保留兩位小數(shù)的四種方法實(shí)現(xiàn)實(shí)例
今天小編就為大家分享一篇關(guān)于Java中保留兩位小數(shù)的四種方法實(shí)現(xiàn)實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02SpringBoot項(xiàng)目找不到接口報(bào)404錯(cuò)誤的解決辦法
寫(xiě)了一個(gè)簡(jiǎn)單的springboot項(xiàng)目,在啟動(dòng)的時(shí)候idea未報(bào)錯(cuò),瀏覽器訪問(wèn)接口時(shí)報(bào)404的錯(cuò)誤,所以本文給大家介紹了SpringBoot項(xiàng)目找不到接口報(bào)404錯(cuò)誤的解決辦法,文中有相關(guān)的圖文供大家參考,需要的朋友可以參考下2024-12-12java集合之CopyOnWriteArrayList源碼解析
這篇文章主要介紹了java集合之CopyOnWriteArrayList源碼解析,容器array是volatile修飾的,即set和get方法都是線程安全的,整個(gè)添加過(guò)程上了鎖,所以整體是通過(guò)volatile和lock來(lái)保證的線程安全,需要的朋友可以參考下2023-12-12Java map 優(yōu)雅的元素遍歷方式說(shuō)明
這篇文章主要介紹了Java map 優(yōu)雅的元素遍歷方式說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10Java將Object轉(zhuǎn)換為數(shù)組的代碼
這篇文章主要介紹了Java將Object轉(zhuǎn)換為數(shù)組的情況,今天在使用一個(gè)別人寫(xiě)的工具類,這個(gè)工具類,主要是判空操作,包括集合、數(shù)組、Map等對(duì)象是否為空的操作,需要的朋友可以參考下2022-09-09