国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java格式化數(shù)字 NumberFormat及DecimalFormat

這篇具有很好參考價值的文章主要介紹了java格式化數(shù)字 NumberFormat及DecimalFormat。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、JavaAPI官方描述

1、NumberFormat

NumberFormat幫助您格式化和解析任何區(qū)域設(shè)置的數(shù)字。您的代碼可以完全獨立于小數(shù)點,千位分隔符的區(qū)域設(shè)置約定,甚至是使用的特定十進制數(shù)字,或者數(shù)字格式是否為十進制。

2、 DecimalFormat

DecimalFormat是NumberFormat十進制數(shù)字格式的具體子類 。它具有多種功能,旨在解析和格式化任何語言環(huán)境中的數(shù)字,包括支持西方,阿拉伯語和印度語數(shù)字。它還支持不同類型的數(shù)字,包括整數(shù)(123),定點數(shù)(123.4),科學記數(shù)法(1.23E4),百分比(12%)和貨幣金額(123美元)。所有這些都可以本地化。

二、NumberFormat詳解

1、獲取NumberFormat實例


//創(chuàng)建 一個整數(shù)格式 地區(qū)用系統(tǒng)默認的
NumberFormat integerNumber = NumberFormat.getIntegerInstance(Locale.getDefault());

  1. 使用getInstance或getNumberInstance獲取正常的數(shù)字格式。
  2. 使用getIntegerInstance得到的整數(shù)格式。
  3. 使用getCurrencyInstance來獲取貨幣數(shù)字格式。
  4. 使用getPercentInstance獲取顯示百分比的格式。

2、常用方法

decimalformat,java筆記,java

3、NumberFormat類的使用

要使用NumberFormat類,首先需要使用NumberFormat類的靜態(tài)方法getNumberInstance()來獲取一個NumberFormat實例,然后可以使用實例的format()方法將數(shù)字轉(zhuǎn)換為字符串形式,也可以使用實例的parse()方法將字符串轉(zhuǎn)換為數(shù)字形式。

4.NumberFormat類使用示例

// 1.創(chuàng)建一個實例
NumberFormat numberFormat = NumberFormat.getNumberInstance();
// 2.設(shè)置小數(shù)點后的位數(shù)
numberFormat.setMaximumFractionDigits(2);
// 3.設(shè)置是否使用千分位分隔符
numberFormat.setGroupingUsed(false);
// 4.將數(shù)字123456.789格式化為字符串“123456.79”
String result1 = numberFormat.format(123456.789);
System.out.println(result1); //輸出結(jié)果:123456.79


三、DecimalFormat詳解

1、獲取NumberFormat實例

要獲取特定地區(qū)(包括默認地區(qū))的NumberFormat,請調(diào)用NumberFormat的工廠方法之一,例如getInstance()。通常,不要直接調(diào)用DecimalFormat構(gòu)造函數(shù),因為NumberFormat工廠方法可能返回DecimalFormat之外的子類。如果需要自定義format對象,可以這樣做:

        try {
            NumberFormat f = NumberFormat.getInstance(Locale.getDefault());
            if (f instanceof DecimalFormat) {
                ((DecimalFormat) f).setDecimalSeparatorAlwaysShown(true);
                //寫具體的代碼
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

設(shè)置Pattern

DecimalFormat作為NumberFormat的具體實現(xiàn)子類,最大的特點就是 可以使用Pattern。來實現(xiàn)最大程度的對數(shù)據(jù)格式進行定制。
一個Pattern中的許多字符是按字面意思理解的;它們在解析期間匹配,在格式化期間輸出不變,就是字符在Pattern中 不影響最后的數(shù)字格式化另一方面,特殊字符代表其他字符、字符串或字符類。如果要以文字形式出現(xiàn)在前綴或后綴中,必須引用它們(除非另有說明)。

decimalformat,java筆記,java

2、子類特有的方法

decimalformat,java筆記,java

3、代碼示例

        //創(chuàng)建一個默認的通用格式
        NumberFormat numberFormat = NumberFormat.getInstance();
        DecimalFormat numberDecimalFormat;
        //捕捉異常,以防強制類型轉(zhuǎn)換出錯
        try {
            //強制轉(zhuǎn)換成DecimalFormat
            numberDecimalFormat = (DecimalFormat) numberFormat;
            //保留小數(shù)點后面三位,不足的補零,前面整數(shù)部分 每隔四位 ,用 “,” 符合隔開
            numberDecimalFormat.applyPattern("#,####.000");
            //設(shè)置舍入模式 為DOWN,否則默認的是HALF_EVEN
            numberDecimalFormat.setRoundingMode(RoundingMode.DOWN);
            //設(shè)置 要格式化的數(shù) 是正數(shù)的時候。前面加前綴
            numberDecimalFormat.setPositivePrefix("Prefix  ");
            System.out.println("正數(shù)前綴  "+numberDecimalFormat.format(123456.7891));
            //設(shè)置 要格式化的數(shù) 是正數(shù)的時候。后面加后綴
            numberDecimalFormat.setPositiveSuffix("  Suffix");
            System.out.println("正數(shù)后綴  "+numberDecimalFormat.format(123456.7891));
            //設(shè)置整數(shù)部分的最大位數(shù)
            numberDecimalFormat.setMaximumIntegerDigits(3);
            System.out.println("整數(shù)最大位數(shù) "+numberDecimalFormat.format(123456.7891));
            //設(shè)置整數(shù)部分最小位數(shù)
            numberDecimalFormat.setMinimumIntegerDigits(10);
            System.out.println("整數(shù)最小位數(shù) "+numberDecimalFormat.format(123456.7891));
            //設(shè)置小數(shù)部分的最大位數(shù)
            numberDecimalFormat.setMaximumFractionDigits(2);
            System.out.println("小數(shù)部分最大位數(shù) "+numberDecimalFormat.format(123.4));
            //設(shè)置小數(shù)部分的最小位數(shù)
            numberDecimalFormat.setMinimumFractionDigits(6);
            System.out.println("小數(shù)部分最小位數(shù) "+numberDecimalFormat.format(123.4));
        }catch (Exception e){
            e.printStackTrace();
        }

四、DecimalFormat類符號含義

DecimalFormat 類主要靠 # 和 0 兩種占位符號來指定數(shù)字長度。0 表示如果位數(shù)不足則以 0 填充,# 表示只要有可能就把數(shù)字拉上這個位置。上面的例子包含了差不多所有的基本用法,如果你想了解更多,請參考 DecimalFormat 類的文檔。

符號含義:

0 一個數(shù)字

‘#’ 一個數(shù)字,不包括 0

. 小數(shù)的分隔符的占位符

, 分組分隔符的占位符

; 分隔格式。

  • 缺省負數(shù)前綴。

% 乘以 100 和作為百分比顯示

? 乘以 1000 和作為千進制貨幣符顯示;用貨幣符號代替;如果雙寫,用 國際貨幣符號代替。如果出現(xiàn)在一個模式中,用貨幣十進制分隔符代 替十進制分隔符。

X 前綴或后綴中使用的任何其它字符,用來引用前綴或后綴中的特殊字符。文章來源地址http://www.zghlxwxcb.cn/news/detail-780750.html

DecimalFormat df1 = new DecimalFormat("0.0"); 
DecimalFormat df2 = new DecimalFormat("#.#"); 
DecimalFormat df3 = new DecimalFormat("000.000"); 
DecimalFormat df4 = new DecimalFormat("###.###"); 

System.out.println(df1.format(12.34)); //12.3
System.out.println(df2.format(12.34)); //12.3
System.out.println(df3.format(12.34)); //012.340
System.out.println(df4.format(12.34)); //12.34

import java.text.DecimalFormat;
public class Test{



    public static void main(String[] args){
        
        double pi=3.1415927;//圓周率
        //取一位整數(shù) 
        System.out.println(new DecimalFormat("0").format(pi));//3
        //取一位整數(shù)和兩位小數(shù)  
        System.out.println(new DecimalFormat("0.00").format(pi));//3.14
        //取兩位整數(shù)和三位小數(shù),整數(shù)不足部分以0填補。  
        System.out.println(new DecimalFormat("00.000").format(pi));//03.142  
        //取所有整數(shù)部分  
        System.out.println(new DecimalFormat("#").format(pi));//3  
        //以百分比方式計數(shù),并取兩位小數(shù)  
        System.out.println(new DecimalFormat("#.##%").format(pi));//314.16%  
        long c=299792458;//光速  
        //顯示為科學計數(shù)法,并取五位小數(shù)  
        System.out.println(new DecimalFormat("#.#####E0").format(c));//2.99792E8  
        //顯示為兩位整數(shù)的科學計數(shù)法,并取四位小數(shù)  
        System.out.println(new DecimalFormat("00.####E0").format(c));//29.9792E7  
        //每三位以逗號進行分隔。  
        System.out.println(new DecimalFormat(",###").format(c));//299,792,458  
        //將格式嵌入文本  
        System.out.println(new DecimalFormat("光速大小為每秒,###米").format(c)); //光速大小為每秒299,792,458米

    }
}

到了這里,關(guān)于java格式化數(shù)字 NumberFormat及DecimalFormat的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 使用JavaScript將數(shù)字格式化成千分位的n種方法

    1,使用數(shù)組方法: 1) 數(shù)字轉(zhuǎn)字符串,字符串按照小數(shù)點.分割 2) 整數(shù)部分拆分成字符串數(shù)組,并倒敘 3) 遍歷, 按照每三位添加逗號,號 4) 拼接整數(shù)部分+小數(shù)部分 2.使用字符串的substring截取 1) 數(shù)字轉(zhuǎn)字符串,并按照小數(shù)點’.’分割 2) 整數(shù)部分對3取模,獲取余數(shù), 獲得substring(0, 余數(shù))的

    2024年02月04日
    瀏覽(87)
  • 日期格式化的最佳實踐:如何在Java中處理日期格式化

    日期格式化的最佳實踐:如何在Java中處理日期格式化

    當涉及到日期格式化時,了解正確的方式和最佳實踐是至關(guān)重要的。 日期格式化是將日期轉(zhuǎn)換為特定格式的過程,以便在應(yīng)用程序開發(fā)中更好地展示、存儲或交互。 以下內(nèi)容展示常用的三種方式 在Java中,你可以使用java.time.format.DateTimeFormatter類來格式化日期,并將格式化后

    2024年02月07日
    瀏覽(100)
  • 【Java】SimpleDateFormat格式化日期

    SimpleDateFormat 是用于以區(qū)域設(shè)置敏感的方法格式化和解析日期。它允許格式化(日期文本),解析(文本日期) 對時間日期進行格式化處理 把Date對象轉(zhuǎn)換為年月日時分秒格式字符串 把字符串轉(zhuǎn)換為Date對象 常用的模式字母及對應(yīng)關(guān)系如下:yyyy年MM月dd日HH時mm分ss秒 y 年,M 月

    2024年04月16日
    瀏覽(25)
  • java實現(xiàn)當前系統(tǒng)時間格式化

    java實現(xiàn)當前系統(tǒng)時間格式化

    運行結(jié)果:

    2024年02月13日
    瀏覽(17)
  • idea Java代碼格式化規(guī)范

    idea Java代碼格式化規(guī)范

    最近在公司開發(fā)中,遇到了一點小問題,組內(nèi)各同事的格式化規(guī)范不一致。一來導致代碼樣式并不統(tǒng)一,二來有時候合并代碼會出現(xiàn)沖突,因此做一套統(tǒng)一代碼格式化規(guī)范很有必要。 在idea中,可以通過快捷鍵Ctrl+Alt+L來格式化代碼,如果沒有做任何配置,idea本身也有一套默認

    2024年02月03日
    瀏覽(41)
  • Java格式化日期,時間(三種方法)

    Java格式化日期,時間(三種方法)

    在java中String類格式化的方法,是靜態(tài)format()用于創(chuàng)建格式化的字符串。 format(String format, Object...?args) 新字符串使用本地語言環(huán)境,制定字符串格式和參數(shù)生成格式化的新字符串。 format(Locale locale, String format, Object... args) 使用指定的語言環(huán)境,制定字符串格式和參數(shù)生成格式化

    2024年02月13日
    瀏覽(25)
  • java.text.ParseException及日期格式化

    java.text.ParseException及日期格式化

    在優(yōu)化接口時,遇到該異常,導致前端頁面一直報500錯誤: ?Servlet.service()?for?servlet?[dispatcherServlet]?in?context?with?path?[]?threw?exception?[Request?processing?failed;?nested?exception?is?java.text.ParseException:?Unparseable?date:?\\\"Fri?Apr?07?20:16:19?CST?2023\\\"]?with?root?cause java.text.ParseExcept

    2024年02月09日
    瀏覽(22)
  • 【Java學習筆記】16.Java 格式化輸出 printf 用法

    Java 格式化輸出 printf 用法 Java 中的 printf 方法用于格式化輸出。 格式化指定了輸出的形式,包括數(shù)字的精度、字符寬度、日期格式等等。下面是一些常用的格式化符號和用法: 字符串格式化 %s : 輸出字符串 實例 整數(shù)格式化 %d : 輸出十進制整數(shù) %o : 輸出八進制整數(shù) %x : 輸出十

    2024年02月07日
    瀏覽(25)
  • Java8日期時間類LocalDateTime格式化

    Java8日期時間類LocalDateTime格式化

    LocalDateTime日期時間格式化 LocalDateTime localDateTime = LocalDateTime.now() System.out.println(now.format( DateTimeFormatter.ofPattern(\\\"yyyy-MM-dd HH:mm:ss\\\") )); 測試1 測試2 測試2的結(jié)果

    2024年02月08日
    瀏覽(19)
  • Java格式化日期,時間(三種方法,建議收藏)

    Java格式化日期,時間(三種方法,建議收藏)

    在java中String類格式化的方法,是靜態(tài)format()用于創(chuàng)建格式化的字符串。 format(String format, Object...?args) 新字符串使用本地語言環(huán)境,制定字符串格式和參數(shù)生成格式化的新字符串。 format(Locale locale, String format, Object... args) 使用指定的語言環(huán)境,制定字符串格式和參數(shù)生成格式化

    2024年02月15日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包