日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

bigdecimal取小数部分_Java中BigDecimal保留两位小数点有哪些方法

發布時間:2025/3/20 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bigdecimal取小数部分_Java中BigDecimal保留两位小数点有哪些方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java中BigDecimal保留兩位小數點有哪些方法?今天就跟長沙尚學堂小編一起來好好的了解下,到底有哪些方法,希望你至少能夠掌握好一種。

保留兩位小數{

方法一:{

double c=3.154215;

java.text.DecimalFormat myformat=new

;

String str = myformat.format(c);

}

方式二:{

java.text.DecimalFormat df =new

;

df.format(你要格式化的數字);

例:new

#.00 表示兩位小數 #.0000四位小數 以此類推...

}

方式三:{

double d = 3.1415926;

String result = String .format("%.2f");

%.2f %. 表示 小數點前任意位數 2 表示兩位小數 格式后的結果為f 表示浮點型

}

}

四舍五入 {

double f = 111231.5585;

BigDecimal b = new BigDecimal(f);

//保留2位小數

double f1 = b.setScale(2,

BigDecimal.ROUND_HALF_UP).doubleValue();

}

[java] view plain copypublic class PreciseCompute {

//默認除法運算精度

private static final int DEF_DIV_SCALE = 10;

public static double add(double v1, double v2) {

BigDecimal b1 = new BigDecimal(Double.toString(v1));

BigDecimal b2 = new BigDecimal(Double.toString(v2));

return b1.add(b2).doubleValue();

}

public static double sub(double v1, double v2) {

BigDecimal b1 = new BigDecimal(Double.toString(v1));

BigDecimal b2 = new BigDecimal(Double.toString(v2));

return b1.subtract(b2).doubleValue();

}

public static double mul(double v1, double v2) {

BigDecimal b1 = new BigDecimal(Double.toString(v1));

BigDecimal b2 = new BigDecimal(Double.toString(v2));

return b1.multiply(b2).doubleValue();

}

public static double div(double v1, double v2) {

return div(v1, v2, DEF_DIV_SCALE);

}

public static double div(double v1, double v2, int scale) {

if (scale < 0) {

throw new IllegalArgumentException(

"The scale must be a positive integer or zero");

}

BigDecimal b1 = new BigDecimal(Double.toString(v1));

BigDecimal b2 = new BigDecimal(Double.toString(v2));

return b1.divide(b2, scale,

BigDecimal.ROUND_HALF_UP).doubleValue();

}

public static double round(double v, int scale) {

if (scale < 0) {

throw new IllegalArgumentException(

"The scale must be a positive integer or zero");

}

BigDecimal b = new BigDecimal(Double.toString(v));

BigDecimal ne = new BigDecimal("1");

return b.divide(one, scale,

BigDecimal.ROUND_HALF_UP).doubleValue();

}

}

my code:

[java] view plain copyprivate BigDecimal

formatComma2BigDecimal(Object obj) {

String val = String.valueOf(obj);

if (val == null)

return new BigDecimal("0.00");

val = val.replaceAll(",", "");

if (!isNumber(val))

return new BigDecimal("0.00");

BigDecimal decimal = new BigDecimal(val);

decimal = decimal.setScale(2, RoundingMode.HALF_UP);

return decimal;

}

private String formatCommaAnd2Point(Object obj) {

BigDecimal decimal = formatComma2BigDecimal(obj);

DecimalFormat df = new DecimalFormat("#,###.00");

String decimalStr =

df.format(decimal).equals(".00")?"0.00":df.format(decimal);

if(decimalStr.startsWith(".")){

decimalStr = "0"+decimalStr;

}

return decimalStr;

}

private boolean isDouble(String value) {

try {

Double.parseDouble(value);

if (value.contains("."))

return true;

return false;

} catch (NumberFormatException e) {

return false;

}

}

private boolean isInteger(String value) {

try {

Integer.parseInt(value);

return true;

} catch (NumberFormatException e) {

return false;

}

}

private boolean isNumber(String value) {

return isInteger(value) || isDouble(value);

}

總結

以上是生活随笔為你收集整理的bigdecimal取小数部分_Java中BigDecimal保留两位小数点有哪些方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。