1. 程式人生 > >DecimalFormat 保留小數格式化

DecimalFormat 保留小數格式化

DecimalFormat format 方法
大家在format()一個小數是,總是對格式中的'0'和'#'有些不解吧!
eg: 
    1:new DecimalFormat("00.000").format(pi) //結果:03.142
    2:new DecimalFormat("##.###").format(pi) //結果:3.142
都是對pi進行格式化,但第一個的結果是03.142,第二個的結果是3.142
這是什麼原因呢?
0和#都是佔位符,但在不同的地方,作用不一樣。下面對他們做了具體的比較。
希望對大家有所幫助。
0: 
    比實際數字的位數多,不足的地方用0補上。
    new DecimalFormat("00.00").format(3.14)  //結果:03.14
    new DecimalFormat("0.000").format(3.14)  //結果: 3.140
    new DecimalFormat("00.000").format(3.14)  //結果:03.140
    比實際數字的位數少:整數部分不改動,小數部分,四捨五入
    new DecimalFormat("0.000").format(13.146)  //結果:13.146
    new DecimalFormat("00.00").format(13.146)  //結果:13.15
    new DecimalFormat("0.00").format(13.146)  //結果:13.15
#: 
    比實際數字的位數多,不變。
    new DecimalFormat("##.##").format(3.14)  //結果:3.14
    new DecimalFormat("#.###").format(3.14)  //結果: 3.14
    new DecimalFormat("##.###").format(3.14)  //結果:3.14
    比實際數字的位數少:整數部分不改動,小數部分,四捨五入
    new DecimalFormat("#.###").format(13.146)  //結果:13.146
    new DecimalFormat("##.##").format(13.146)  //結果:13.15
    new DecimalFormat("#.##").format(13.146)  //結果:13.15
其他的一些用法,(新增百分號,千分號,科學計數法,自定義正負數模板)
可參照
http://jff.iteye.com/blog/576737
http://blog.csdn.net/marcoleung/article/details/176514
以上,如有不妥,請指出!

相關推薦

DecimalFormat 保留小數格式化

DecimalFormat format 方法 大家在format()一個小數是,總是對格式中的'0'和'#'有些不解吧! eg:      1:new DecimalFormat("00.000").format(pi) //結果:03.142     2:new DecimalFormat("##.##

對於浮點數double和float資料DecimalFormat保留小數並且格式化並設定千分位數操作

//示例一:最多保留兩位小數 System.out.println("--------###,###.##---------------"); System.out.println(new DecimalFormat("###,###.##").format(1231111.

Java中使用DecimalFormat保留兩位小數,同時不保留0

import java.text.DecimalFormat; /** * Created by laozhu on 2018/4/10. */ public class Helo {

java BigDecimal用法詳解(保留小數,四捨五入,數字格式化,科學計數法轉數字等)

一、簡介    Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數進行精確的運算。雙精度浮點型變數double可以處理16位有效數。在實際應用中,需要對更大或者更小的數進行運算和處理。float和double只能用來做科學計算或者是

java DecimalFormat保留兩位小數,四捨五入記錄

            int k =3;             int credsum=11;             float num= (float)k/credsum;             DecimalFormat df = new DecimalForm

python 浮點數保留小數

方式 decimal round logs gen 輸出 浮點數 .cn 保留 http://www.cnblogs.com/Raymon-Geng/p/5784290.html 這裏有三種方法, round(a,2) ‘%.2f‘ % a Decimal(‘5.000‘)

Java指定保留小數位數的方法

小數位數 mode down ceil package style spa 直接 obj package com.qiyuan.util; import java.math.BigDecimal; import java.math.RoundingMode; impor

C# 保留小數位數的方法

小數 mat text double 必須 前言 ont ext digits ? 前言 本文主要介紹 C# 中實現小數位數的保留,完成對小數位數四舍五入的幾種方法。 1. 使用 Math.Round() 方法 說明: 1) 其實使用 Math.Round()

保留小數,但會四舍五入

AC ++ bits 四舍五入 main sin return IT ble #include<bits/stdc++.h>using namespace std;main(){double a=2.9939; cout<<fixed&

(JAVA保留小數問題,基礎)Probability hdu2131

-s his lan ins after rec accep rst new Probability 鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2131 Time Limit: 3000/1000 MS (Java/Oth

to_char中的保留小數的用法

表示式to_char(值,'保留位數示範數字'),如to_char(2222.22222,'9999.99') select to_char(222.222222,'999.99') as 值 from dual 查詢結果:   但是我們在使用的時候多多

matlab裡面如何保留小數特定位數

[轉載] Matlab取整函式有: fix, floor, ceil, round.取整函式在程式設計時有很大用處。  一、取整函式  1.向零取整(截尾取整)  fix-向零取整(Round&

BigDecimal的加減乘除即保留小數

加減乘除       BigDecimal bignum1 = new BigDecimal("10");        BigDecimal bignum2 = new BigDecimal("5"); &

c/c++ 整數除預算保留小數

兩個整數相除會自動省略小數點後的小數位即使下面這種: int a,int b; int a = 4; int b = 3; double d = a/b;  d= 1.0000000; --------------------------- 整數除法用 “/”的話得到的是一個整數(得到

scanf 、pritnf與保留小數輸出

格式化輸入函式scanf scanf函式的功能是格式化輸入任意資料列表,其一般呼叫格式為: scanf(格式控制符,地址列表)      例 scanf("%d%d",&a,&b) 【說明】    1)地址列表中給出各變數的地址,可以為變數的地址,也

java : 保留小數位數的方法

Ex :     double a=1.2356;     //方法1     double b=(double)Math.round(a*100)/100;  //1.23     //方法2     String s1=String.format("%.2f",a);

Twig中控制保留小數位數

number_format 該number_format過濾器格式的數字 引數: decimal: 要顯示的小數點數 decimal_point: 用於小數點的字元 thousand_sep: 用於千位分隔符的字元 舉例:

postgresql保留小數位數的方法

還是需要通過cast函式 cast A as B 它可以用於型別轉換,也可以用來確定小數位數 -- # dom 平均 SELECT cast(AVG(CAST(dom AS FLOAT)) AS decimal(10,2)) -- as decimal(15,2) FROM estate_e

C++保留小數位數問題

首先 介紹主角: setprecision()     和    setiosflags()  這兩個函式是標頭檔案#include<iomanip>裡的函式,記得加標頭檔案#include<iomanip> setprecision() 顧

Java計算兩個經緯度之間的距離公式,外加百度地圖高德地圖轉換,和保留小數

在網上看到了很多兩個座標之間的距離公式,也都親自測試了,有很多都不可以用,後來找到一個比較好的距離演算法,分享給大家 經緯度兩點之間的距離公式 public class MapUtils { private static double rad(double d) { return