背景??
? ?涉及到比較大的數(shù)字之間的計(jì)算,使用float、double這樣的浮點(diǎn)數(shù)就不那么準(zhǔn)確了。因?yàn)椴徽撌莊loat 還是double都是浮點(diǎn)數(shù),而計(jì)算機(jī)是二進(jìn)制的,浮點(diǎn)數(shù)會(huì)失去一定的精確度。所以在商業(yè)計(jì)算中基本要用java.math.BigDecimal
一、初始化使用
public static void main(String[] args) {
// 可以使用
BigDecimal bigDecimal1 = new BigDecimal(10);
// 推薦使用
BigDecimal bigDecimal2 = new BigDecimal("10.123");
// 不推薦 會(huì)丟失精確度
BigDecimal bigDecimal3 = new BigDecimal(10.123);
System.out.println("輸出bigDecimal1:"+bigDecimal1);
System.out.println("輸出bigDecimal2:"+bigDecimal2);
System.out.println("輸出bigDecimal3:"+bigDecimal3);
}
結(jié)果輸出:??
?1.2、BigDecimal還提供默認(rèn)值創(chuàng)建(0、1、10)
public static void main(String[] args) {
// 創(chuàng)建默認(rèn)為0
BigDecimal bigDecimal1 = BigDecimal.ZERO;
// 創(chuàng)建默認(rèn)為1
BigDecimal bigDecimal2 = BigDecimal.ONE;
// 創(chuàng)建默認(rèn)為10
BigDecimal bigDecimal3 = BigDecimal.TEN;
System.out.println("輸出bigDecimal1: "+bigDecimal1);
System.out.println("輸出bigDecimal2: "+bigDecimal2);
System.out.println("輸出bigDecimal3: "+bigDecimal3);
}
結(jié)果輸出:?文章來源:http://www.zghlxwxcb.cn/news/detail-595600.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-595600.html
?1.3、int、long、double等,也可以這么創(chuàng)建實(shí)例(不推薦)
public static void main(String[] args) {
// 創(chuàng)建默認(rèn)為0
BigDecimal bigDecimal1 = BigDecimal.valueOf(10);
// 創(chuàng)建默認(rèn)為1
BigDecimal bigDecimal2 = BigDecimal.valueOf(10L);
// 創(chuàng)建默認(rèn)為10
BigDecimal bigDecimal3 = BigDecimal.valueOf(10.1);
System.out.println("輸出bigDecimal1: "+bigDecimal1);
System.out.pri
到了這里,關(guān)于BigDecimal 基本使用和常用方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!