日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

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

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

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

保留兩位小數(shù){

方法一:{

double c=3.154215;

java.text.DecimalFormat myformat=new

;

String str = myformat.format(c);

}

方式二:{

java.text.DecimalFormat df =new

;

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

例:new

#.00 表示兩位小數(shù) #.0000四位小數(shù) 以此類推...

}

方式三:{

double d = 3.1415926;

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

%.2f %. 表示 小數(shù)點(diǎn)前任意位數(shù) 2 表示兩位小數(shù) 格式后的結(jié)果為f 表示浮點(diǎn)型

}

}

四舍五入 {

double f = 111231.5585;

BigDecimal b = new BigDecimal(f);

//保留2位小數(shù)

double f1 = b.setScale(2,

BigDecimal.ROUND_HALF_UP).doubleValue();

}

[java] view plain copypublic class PreciseCompute {

//默認(rèn)除法運(yùn)算精度

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);

}

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。