java 小數(shù)點后保留兩位有效數(shù)字

java 小數(shù)點后保留兩位有效數(shù)字

今天偶爾用到了UI布局需要把BigDecimal格式顯示出來,顯示的格式是小數(shù)點后保留一位,比較可悲的是搜索的結(jié)果大同小異语卤,基本都是五種方式。目前在國內(nèi)好像出現(xiàn)了一種奇怪的現(xiàn)象,有一個人寫了播放比藻,其他人遇到類似的問題后,基本都是轉(zhuǎn)載或者直接拷貝發(fā)表成自己的文章倘屹。幾乎沒有任何的加工和嚴(yán)重银亲,更不能說出什么理由說出自己這么做,哦忘記了纽匙,可能有一條理由务蝠,那就是很多招聘jd上寫著,有博客者加分烛缔。很想問一下這樣簡單的轉(zhuǎn)載或者拷貝不加上自己的驗證或者思考能加分嗎馏段?如果我是面試官,我很可能會直接pass了践瓷,為什么院喜?太懶了,無論是手懶還是思維懶都會對自己的職業(yè)產(chǎn)生不利的影響当窗。

我自己的想法

你可能會說你自己的想法干我毛用够坐,的確沒什么用,但是自己后悔后想起的時候可能就有毛用了。很多大蝦元咙,大俠梯影,大神都說不要造輪子,更不要重復(fù)造輪子庶香,要使用已經(jīng)驗證的直接拿來就好用的甲棍。理論上沒錯,但是有一點錯了赶掖,那就是他們已經(jīng)理解了輪子的原理感猛,已經(jīng)會早輪子了,而不是像很多人只是會用那樣簡單奢赂。記住別人的經(jīng)驗一定不適合你陪白,別老是找相似點,那樣越發(fā)的覺得自己像大神膳灶,要找不同點咱士,這樣才會像自己,最終才是大神轧钓。

結(jié)束廢話進(jìn)入正題

引入搜索結(jié)果五種保留兩位小數(shù)的方法

以下是網(wǎng)絡(luò)常見的五種方法序厉,這里我貼上驗證的完整代碼以便于其他同學(xué)驗證

public class TestJava {

    public static void main(String[] args) {

        BigDecimal bigDecimal = new BigDecimal("100.000");
        BigDecimal bigDecimal2 = new BigDecimal("0.0810");

        method1(bigDecimal);
        method1(bigDecimal2);
        System.out.println("----------------------------------------");
        method2(bigDecimal);
        method2(bigDecimal2);
        System.out.println("----------------------------------------");
        method3(bigDecimal);
        method3(bigDecimal2);
        System.out.println("----------------------------------------");
        method4(bigDecimal);
        method4(bigDecimal2);
        System.out.println("----------------------------------------");
        method5(bigDecimal);
        method5(bigDecimal2);

    }

    /**
     * 方法一
     * @param f
     */
    public static void method1(BigDecimal f){
        //BigDecimal bg = new BigDecimal(f);
        double f1 = f.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
        System.out.println("mehtod1 result is:"+f1);
    }

    /**
     * 方法二
     * @param f
     */
    public static void method2(BigDecimal f){
        DecimalFormat df = new DecimalFormat("#.00");
        System.out.println("mehtod2 result is:"+df.format(f));
    }

    /**
     * 方法三
     * @param f
     */
    public static void method3(BigDecimal f){
        System.out.println("mehtod3 result is:"+String.format("%.2f", f));
    }

    /**
     * 方法四
     * @param f
     */
    public static void method4(BigDecimal f){
        NumberFormat nf = NumberFormat.getNumberInstance();
        nf.setMaximumFractionDigits(2);
        System.out.println("mehtod4 result is:"+nf.format(f));
    }

    /**
     * 方法五
     * @param f
     */
    public static void method5(BigDecimal f){
        float floatValue= f.floatValue();
        float num=(float)(Math.round(floatValue*100)/100);
        System.out.println("mehtod5 result is:"+num);
    }
}

驗證結(jié)果

mehtod1 result is:100.0
mehtod1 result is:0.08
----------------------------------------
mehtod2 result is:100.00
mehtod2 result is:.08
----------------------------------------
mehtod3 result is:100.00
mehtod3 result is:0.08
----------------------------------------
mehtod4 result is:100
mehtod4 result is:0.08
----------------------------------------
mehtod5 result is:100.0
mehtod5 result is:0.0

看出什么了嗎?僅僅把代碼貼到IDE里面驗證一下就可以得出上面的結(jié)論毕箍。這里是有BigDecimal來兼容所有數(shù)字類型弛房。

得出的結(jié)論

目前只有第三種辦法字符串處理是比較好用的,但是效率卻不是最高的而柑,有沒有更好的答案呢文捶?一定有的,歡迎來砸牺堰,如果我自己找到也補充上拄轻。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市伟葫,隨后出現(xiàn)的幾起案子恨搓,更是在濱河造成了極大的恐慌,老刑警劉巖筏养,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件斧抱,死亡現(xiàn)場離奇詭異,居然都是意外死亡渐溶,警方通過查閱死者的電腦和手機辉浦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來茎辐,“玉大人宪郊,你說我怎么就攤上這事掂恕。” “怎么了弛槐?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵懊亡,是天一觀的道長。 經(jīng)常有香客問我乎串,道長店枣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任叹誉,我火速辦了婚禮鸯两,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘长豁。我一直安慰自己钧唐,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布蕉斜。 她就那樣靜靜地躺著逾柿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宅此。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天爬范,我揣著相機與錄音父腕,去河邊找鬼。 笑死青瀑,一個胖子當(dāng)著我的面吹牛璧亮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播斥难,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼枝嘶,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了哑诊?” 一聲冷哼從身側(cè)響起群扶,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎镀裤,沒想到半個月后竞阐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡暑劝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年骆莹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片担猛。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡幕垦,死狀恐怖丢氢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情先改,我是刑警寧澤疚察,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站盏道,受9級特大地震影響稍浆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜猜嘱,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一衅枫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧朗伶,春花似錦弦撩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至点晴,卻和暖如春感凤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背粒督。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工陪竿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人屠橄。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓族跛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親锐墙。 傳聞我的和親對象是個殘疾皇子礁哄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容