java保留有效數字

 1 在處理數值運算的時候,有時候會遇到保留幾位小數的需求,下面是一個保留兩位小數的簡單方法。
 2 /**
 3   * 將數據保留兩位小數
 4   */
 5      privatedoublegetTwoDecimal(doublenum) {
 6           DecimalFormatdFormat=newDecimalFormat("#.00");
 7           StringyearString=dFormat.format(num);
 8           Doubletemp= Double.valueOf(yearString);
 9           returntemp;
10      }

?這個方法可以把一個double類型的數值保留兩位小數,并且可以實現數值的四舍五入。 其實,我們還有更簡單的方法: double value =newBigDecimal(num).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();?

?這個方法可以更加簡單地實現將一個double型數值保留兩位小數。不僅如此,還可以很方便的實現一些其他功能,比如: double value2 = new BigDecimal(num).divide(new BigDecimal(100)).doubleValue();?

上面的代碼可以實現精確的除法運算。除此之外,還可以實現加法、減法、乘法等,還可以選擇四舍五入(BigDecimal.ROUND_HALF_UP)或者直接舍棄小數(BigDecimal.ROUND_DOWN)不進位。例如:
public static void main(String[] args) {BigDecimal a = new BigDecimal(1546).divide(new BigDecimal(1000)).setScale(2,BigDecimal.ROUND_DOWN);System.out.println(a);
}
雖然末位是6,但是仍然不進位,結果是1.54public static void main(String[] args) {BigDecimal a = new BigDecimal(1543).divide(new BigDecimal(1000)).setScale(2,BigDecimal.ROUND_UP);System.out.println(a);
}
這時,雖然末位是3,仍然進位,結果是1.55。

?

轉載于:https://www.cnblogs.com/sily-boy/p/4769564.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/273015.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/273015.shtml
英文地址,請注明出處:http://en.pswp.cn/news/273015.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言algorithm主函數,C語言中主函數中相關有關問題?

C語言中主函數中相關問題???#include #include #include #include #include #include #include #include #include using namespace std;int mp[20][20], b[20], max1, n;struct node{int a[15], top, ans, x;};void bfs(){int i, j, x;queue…

【Android基礎】Fragment 詳解之Fragment介紹

Fragment在Android 3.0( API 11)引入,是為了支持在大屏上顯示更加動態、靈活的UI,比如在平板和電視上。Fragment可以看作是嵌套的Activity,類似ActivityGroup,但是開銷肯定沒有ActivityGroup那么大&#xf…

c語言統計數據,數據統計

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓#include void input(float score[10][5]);void average(float aver[]);void course(float cour[]);float score[10][5],aver[10],cour[5];int i,j;void main(){printf("please input the scores of all the students\n"…

傳遞閉包c語言算法解析,找關系的傳遞閉包 用c語言編 一個關系的傳遞閉包

為什么叫傳遞閉包??有什么特殊含義??設R是X上的二元關系,如果另一個關系R1滿足:R1是傳遞的,R是R1的子集,對于任何可傳遞關系R11如果有R是R11的子集,就有R1是R11的子集。則…

linux之cp/scp命令+scp命令詳解

命令:cp 使用權限:所有使用者 使用方式: cp [options] source dest cp [options] source... directory 說明:將一個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。 把計 -a 盡可能將檔案狀態、權限等資料都照原狀予…

linux安裝mq報5724,linux下MQ簡單配置手冊.doc

精品消息發送涉及到的隊列及通道示意圖:定義發送方為A,接收方為B,下面是建立A向B發送消息的單向配置。發送方A的配置1. 在發送方A創建隊列管理器QM_A:[[email protected] ~]$ crtmqm -q QM_A成功后會有如下提示:There …

asp.net MVC控制器中返回JSON格式的數據時提示下載

Asp.net mvc在接收的是JSON格式的數據,但是奇怪的是在IE中提示下載文件,其他瀏覽器中一切正常,下載后,里面的內容就是在控制器中返回的數據。代碼如下: 視圖中js代碼: $("#form").ajaxSubmit({ …

linux postfix 搭建,linux 下搭建postfix服務器

linux 下postfix郵箱的安裝linux一、首先關閉sendmail服務service sendmail stop二、chkconfig sendmail off(關閉開機自啟動)三、修改DNS正解文件,使DNS可以解析郵箱服務添加下面兩行mail.zhubf.com. IN A 172.17.17.2zhubf.com. IN MX 10 …

兩個鏈表的第一個公共結點-輸入兩個鏈表,找出它們的第一個公共結點。

1、蠻力法: 1 /*2 struct ListNode {3 int val;4 struct ListNode *next;5 ListNode(int x) :6 val(x), next(NULL) {7 }8 };*/9 class Solution { 10 public: 11 ListNode* FindFirstCommonNode( ListNode *pHead1, ListNode *pHe…

android 飛框動畫,AndroidTV中實現飛框選中效果

相信很多從事AndroidTV開發的朋友都對如何展示item的選中效果感到苦惱,電視端開發與移動端最大的不同是用戶只能通過一個遙控器進行控制(當然如果你的電視是觸屏的話除外……),在這個時候,我們需要讓用戶知道當前選中的到底是哪一個項目&…

VB 文件操作

1. 打開文件 Open "文件名" [for 模式] [Access 操作類型] [鎖定] As [#]文件號 [Len記錄長度] 模式:OUTPUT 寫 INPUT 讀 APPEND 追加 操作類型: READ WRITE READWRITE 鎖定: Share (缺省)LOCKREAD LOCKW…

數組總結

1冒泡排序和選擇排序 1 package hello;2 3 import java.io.BufferedOutputStream;4 import java.io.File;5 import java.io.FileInputStream;6 import java.io.FileNotFoundException;7 import java.io.FileOutputStream;8 import java.io.IOException;9 import java.io.InputS…

鴻蒙系統支持980,鴻蒙手機上線時間 鴻蒙系統支持哪些手機2021最新匯總

鴻蒙手機來了,從2019年公布到現在的正式發布,沒想到華為這么迅速,而且華為EMUI微博更名HarmonyOS,在Android與iOS這兩座大山面前,大家覺得鴻蒙系統值得更新體驗嗎?目前來說鴻蒙系統支持第三方手機有哪些呢&…

confluence正常安裝網頁報錯_NAS折騰手記1:在OMV5上安裝ZFS On Linux的正確步驟

起因是直接安裝OVMExtra里自帶的zfs插件會報錯,所以需要使用命令行來做一些前置準備。源配置有兩種方法。1是安裝OMVExtra并在內直接啟用所有測試源下載地址在此?omv-extras.org2是手動添加,執行以下命令vi /etc/apt/sources.list.d/buster-backports.l…

17個新手常見Python運行時錯誤

當初學 Python 時,想要弄懂 Python 的錯誤信息的含義可能有點復雜。這里列出了常見的的一些讓你程序 crash 的運行時錯誤。 1)忘記在 if , elif , else , for , while , class ,def 聲明末尾添加 :(導致 “SyntaxError &#xff1…

android activity alias,動態更換桌標 Activity-alias

前言動態更換App圖標,網上可以收搜到很多,這里也是參考前人經驗,讀完本文可以得到,如何動態更換桌標(非網絡獲取桌標圖片),標志位的闡述,更加透徹的理解.用到的知識activity-alias并不是代表一個Activity,而是代表一個已經存在的Activity的別名。它使用在清單文件中…

python替代php,Python架構的PHP替代方案

I am happily using fabric for my Python projects for deployment. Now I am engaged in a larger PHP project and wondering if there is something like fabric for PHP?解決方案Hmm? Why does it matter? Fabric is just python scripting. So its project language a…

MAC終端安裝grunt--javascript世界得構建工具

祝賀我成為前端啦!~~從年前得小測試到今年得前端,成功轉型!我真是一個進步得好青年,好少女! 這兩天出去受虐,面了兩家前端,表現非常不好,還是回到我現在得公司好好沉淀技術&#xff…

android sdk eclipse沒導入,Android—新的eclipse導入SDK出錯解決辦法

原先系統崩潰,重裝系統,加入一塊內存條,從32位變成62位,原先的eclipse用不了;去官網下載64位的eclipse,安裝,用一樣的方法導入SDK。這時候肯定會提示錯誤,如下:1.This An…

兩個分數化簡比怎么化_我學《分數的意義》心得

停課不停學已經有將近兩個月了,我們邁入了“分數”這一部分。聽媽媽說,這一塊內容很重要,可我覺得到目前為止(明天就學真分數、假分數和帶分數了),分數好像并不比四年級難。看了看書,再做點練習,把這點新的…