java BigDecimal 新增千位分隔符,保留幾位小數
含格式的都是String類的:比如新增千位分隔符的,轉換為百分數格式的
1.使用DecimalFormat類,會返回String型別
import static org.junit.Assert.*; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.DecimalFormat; import org.junit.Test; public class BigDecimalTest { /** * 使用DecimalFormat類 返回String型別 */ @Test public void BigDecimalFormatTest() { //0 一個數字 ; # 一個數字,不包括 0 //保留兩位小數,如果不足兩位小數則自動補零 DecimalFormat df1 = new DecimalFormat("###0.00") ; df1.setRoundingMode(RoundingMode.HALF_UP); System.out.println(df1.format(124.3)); System.out.println(df1.format(124.315)); //費解 沒有四捨五入 System.out.println(df1.format(124.325)); //費解 實現四捨五入 //保留兩位小數,不足兩位則不補零 DecimalFormat df2 = new DecimalFormat("###0.##") ; System.out.println(df2.format(124.6)); System.out.println(df2.format(124)); //保留兩位小數,哪裡不足位則補零 DecimalFormat df3 = new DecimalFormat("000.00"); System.out.println(df3.format(24)); //新增千位分隔符,保留3位小數,不足的補0 DecimalFormat df4 = new DecimalFormat("#,##0.000"); System.out.println(df4.format(new BigDecimal(3613.61))); System.out.println(df4.format(new BigDecimal(3613.613))); System.out.println(df4.format(new BigDecimal(3613.6135))); System.out.println(df4.format(new BigDecimal(3613.6136))); } }
2.使用BigDecimal.setScale()方法,會返回BigDecimal型別,但是也可再轉成String型別
import static org.junit.Assert.*; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.DecimalFormat; import org.junit.Test; public class BigDecimalTest { /** * 使用BigDecimal的setScale()方法 * */ @Test public void setBigDecimalScale(){ BigDecimal bd1 = new BigDecimal( 911.911); BigDecimal bd2 = new BigDecimal( 911.91156); bd1 = bd1.setScale(4, BigDecimal.ROUND_HALF_UP); bd2 = bd2.setScale(4, BigDecimal.ROUND_HALF_UP); System.out.println("bd1=="+bd1); System.out.println("bd2=="+bd2); //返回String 不足位就補0 String str1 = bd1.setScale(4, BigDecimal.ROUND_HALF_UP).toString(); System.out.println("str1==="+str1); //返回String 不足位也不補0 String str2 = new String(""+bd1.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue()); System.out.println("str1==="+str2); } }
import static org.junit.Assert.*; import java.math.BigDecimal; import java.text.DecimalFormat; import org.junit.Test; public class BigDecimalTest{ @Test public void percentTest(){ //BigDecimal 轉為百分比格式 DecimalFormat df = new DecimalFormat("0.00%"); BigDecimal d=new BigDecimal(0.666); String percent=df.format(d); System.out.println("percent=="+percent); //百分比格式轉為BigDecimal percent=percent.replace("%",""); Float f = Float.valueOf(percent) / 100; BigDecimal decimal = new BigDecimal(f); System.out.println(decimal);//-0.66600000858306884765625 } }
4.兩個BigDecimal比較大小用compareTo()方法,比較結果有-1,0,1,分別表示小於,等於,大於
import static org.junit.Assert.*;
import java.math.BigDecimal;
import org.junit.Test;
public class BigDecimalTest {
@Test
public void testEqual(){
BigDecimal value1 = new BigDecimal(3.14);
BigDecimal value2 = new BigDecimal(3.20);
if(value1.compareTo(value2) == 0){
System.out.println("value1 = value2");
}
if(value1.compareTo(value2) == 1){
System.out.println("value1 > value2");
}
if(value1.compareTo(value2) == -1){
System.out.println("value1 < value2");
}
}
}
相關推薦
java BigDecimal 新增千位分隔符,保留幾位小數
含格式的都是String類的:比如新增千位分隔符的,轉換為百分數格式的1.使用DecimalFormat類,會返回String型別import static org.junit.Assert.*; import java.math.BigDecimal; import ja
js 數字格式化(千分位,保留幾位小數,四捨五入)
function formatNumber(num,cent,isThousand) { num = num.toString().replace(/\$|\,/g,'');
保留兩位小數點,保留2位小數,如:2,會在2後面補上00.即2.00
function toDecimal2(x) { var f = parseFloat(x); if (isNaN(f)) {  
JS-滑鼠移出input,保留兩位小數且新增千分位分隔符
程式碼如下: 滑鼠移出input後保留兩位小數,新增千分位分隔符<input class="credit" type="text" value="0.00"/> <script type="text/javascript"> //千分位的分隔符 function t
Java:對double值進行四捨五入,保留兩位小數的幾種方法
1. 功能 將程式中的double值精確到小數點後兩位。可以四捨五入,也可以直接截斷。 比如:輸入12345.6789,輸出可以是12345.68也可以是12345.67。至於是否需要四捨五入,可以通過引數來決定(RoundingMode.UP/RoundingMode.DOWN等引數)。 2. 實現程式碼
java double演算法,保留固定位小數
public static void main(String[] args) { double a = 26765; int b = 45676; double c = a/b; double d = a/b/1.000; double e = a/1000.00; String result = Stri
關於java格式化資料,保留兩位小數不精準的問題
首先,網上有傳的幾種格式化的方法,如下 java保留兩位小數問題: 方式一: 四捨五入 double f = 111231.5585; BigDecimal b =
Java:對double值進行四舍五入,保留兩位小數的幾種方法
ner 分享圖片 什麽 text 5.6 ces 技術 git app 轉: 1. 功能 將程序中的double值精確到小數點後兩位。可以四舍五入,也可以直接截斷。 比如:輸入12345.6789,輸出可以是12345.68也可以是12345.67。至於
Java-小技巧-005-double類型保留兩位小數4種方法
bsp 轉換 args clear cal instance double static ati 4種方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.Decimal
獲取特定範圍內的隨機數,保留2位
double型別保留小數位 //取值範圍為[0.7,1) //區間最大值 int max = 1 //區間最小值 int min = 0.7 //保留的小數位 int scale = 2 num = new Bigdecimal(Math.random() * (max - min)
ACMNO.12有一分數序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出這個數列的前N項之和,保留兩位小數。 輸入 N 輸出 數列前N項和 樣例輸入 10
題目描述 有一分數序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出這個數列的前N項之和,保留兩位小數。 輸入 N 輸出 數列前N項和 樣例輸入 10 樣例輸出 16.48 來源/分類 C語言 題目
float轉16進位制, 16進位制轉float(java )
直接上程式碼,有需求的朋也可以檢視下: package com.sondon.dev_soceket.test; /** * @Project : 硬體通訊 * @Package : com
angular 輸入框數字千分位、保留幾位小數點
網上查到一個關於千分位的指令,我稍微做了點完善,通用指令程式碼 myApp.directive('price', function($parse) { return { link: function (scope, elem
java int型別轉換成String , 不足10位 在前面補0
String.format("%010d", 25); 0代表前面要補的字元 10代表字串長度 d表示引數為整數型別 String s = "Hello World!"; int i =
L1-040. 最佳情侶身高差【附C++如何保留幾位小數,可設定為對一個物件或多個物件生效】
專家通過多組情侶研究資料發現,最佳的情侶身高差遵循著一個公式:(女方的身高)×1.09=(男方的身高)。如果符合,你倆的身高差不管是牽手、擁抱、接吻,都是最和諧的差度。下面就請你寫個程式,為任意一位使用者計算他/她的情侶的最佳身高。輸入格式:輸入第一行給出正整數N(<=
sqlserver資料庫中如果對數值型的欄位進行小數點保留兩位,如果是小於1的數,前面的0消失解決方案
sqlserver資料庫中數值型保留兩位小數的方式: 1. 使用 Round() 函式,如 Round(@num,2) 引數 2 表示 保留兩位有效數字。 2. 更好的方法是使用 Convert(decimal(18,2),@num) 實現轉換,decimal(18,2
如何去掉BigDecimal得科學計數法和保留7位小數問題關
<span style="background-color: rgb(255, 255, 255);"><span style="font-size:18px;"><s
小程式中過濾器功能,保留兩位小數
1. 首先建立filter 資料夾 2. wxs 程式碼 var numFr = { getNum: function (x) { var f = parseFloat(x); if (isNaN(f)) { retu
Java中double值進行四捨五入並保留兩位小數的幾種方法
1. 功能將程式中的double值精確到小數點後兩位。可以四捨五入,也可以直接截斷。比如:輸入12345.6789,輸出可以是12345.68也可以是12345.67。至於是否需要四捨五入,可以通過引數來決定(RoundingMode.UP/RoundingMode.DOWN
PHP中數字格式化,保留2位或指定位數,程式碼
/** * 數字格式化 * @param $num 要格式劃的數字 * @param $precision 保留小數點位數 */ function reverse_format($num,$precision=2) { $_num = round(