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語言相似,Java中也可以通過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 的一個具體子類,用于格式化十進(jìn)制數(shù)字,主要靠0和#兩個占位符號。#表示如果盡可能占需占的位數(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
可以看出,#好像并沒有什么作用,該打印什么就打印什么,但并不是這樣的,它是與大多與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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(11)
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你2021-07-07詳解Java使用Pipeline對Redis批量讀寫(hmset&hgetall)
本篇文章主要介紹了Java使用Pipeline對Redis批量讀寫(hmset&hgetall),具有一定的參考價值,有興趣的可以了解一下。2016-12-12Java中保留兩位小數(shù)的四種方法實現(xiàn)實例
今天小編就為大家分享一篇關(guān)于Java中保留兩位小數(shù)的四種方法實現(xiàn)實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02java集合之CopyOnWriteArrayList源碼解析
這篇文章主要介紹了java集合之CopyOnWriteArrayList源碼解析,容器array是volatile修飾的,即set和get方法都是線程安全的,整個添加過程上了鎖,所以整體是通過volatile和lock來保證的線程安全,需要的朋友可以參考下2023-12-12Java將Object轉(zhuǎn)換為數(shù)組的代碼
這篇文章主要介紹了Java將Object轉(zhuǎn)換為數(shù)組的情況,今天在使用一個別人寫的工具類,這個工具類,主要是判空操作,包括集合、數(shù)組、Map等對象是否為空的操作,需要的朋友可以參考下2022-09-09