1. 程式人生 > >BigDecimal除法函式保留小數和四捨五入

BigDecimal除法函式保留小數和四捨五入

商=被除數.devide(除數,保留小數位數,精確方法)
120/100 ,150/100 ,180/100 值均為2

public static int divide(String v1, String v2){
        BigDecimal b1 = new BigDecimal(v1);
        BigDecimal b2 = new BigDecimal(v2);
        return b1.divide(b2, 0, BigDecimal.ROUND_CEILING).intValue();
    }

ROUND_CEILING: 舍位時往正無窮方向移動 1.1-> 2 1.5-> 2 1.8-> 2 -1.1-> -1 -1.5-> -1 -1.8-> -1
ROUND_DOWN:向0的方向移動1.1-> 1 1.5-> 1 1.8-> 1 -1.1-> -1 -1.5-> -1 -1.8> -1
ROUND_FLOOR:與CEILING相反,往負無窮 1.1-> 1 1.5-> 1 1.8-> 1 -1.1-> -2 -1.5-> -2 -1.8-> -2
ROUND_HALF_DOWN:以5為分界線,或曰五舍六入1.5-> 1 1.6-> 1 -1.5-> -1 -1.6-> -2
ROUND_HALF_EVEN:同樣以5為分界線,如果是5,則前一位變偶數1.15-> 1.2 1.16-> 1.2 1.25-> 1.2 1.26-> 1.3
ROUND_HALF_UP:最常見的四捨五入
ROUND_UNNECESSARY:無需舍位
ROUND_UP:與ROUND_DOWN,遠離0的方向1.1-> 2 1.5-> 2 1.8-> 2 -1.1-> -2 -1.5-> -2 -1.8-> -2

相關推薦

BigDecimal除法函式保留小數四捨五入

商=被除數.devide(除數,保留小數位數,精確方法) 120/100 ,150/100 ,180/100 值均為2 public static int divide(String v1, String v2){ BigDecimal

BigDecimal除法保留兩位小數

BigDecimal numBigDecimal=new BigDecimal(5.33);  numBigDecimal=ConvertNumber(numBigDecimal,3,2);//呼叫,5.33/3後保留兩位小數1.7766666=1.78//BigDecima

java 保留小數四捨五入以及時間日期的轉換excel讀入與資料庫寫入

之前進行開發了一段小程式,開發過程中發現短短白來行的程式碼需要用到很多的知識現在進行總結 先貼程式碼,後面做詳細的解釋 public class ImportData { static SimpleDateFormat formater = new SimpleD

微信小程式---保留小數(toFixed) 四捨五入 獲取整數 string轉int

今天遇到了不少問題,問題雖小,還是得做個筆記. 關於微信小程式保留小數(toFixed) 四捨五入,獲取整數的問題。 1.保留小數點後幾位小數. 方法很簡單.toFixed()即可.括號內的數字表示保留的位數.如果是整數,就會不上0 特別注意:這方法返回的是String

c語言除法如何保留小數,如何printf小數 [程式設計題] 字串碎片

#include<stdio.h> #include<string.h> char str[51]; int n,count,i; int main() {     scanf("%s",&str);     n=strlen(str);  

C# 小數點後保留兩位小數四捨五入函式及使用方法

1 Math.Round(45.367,2) //Returns 45.37 2 Math.Round(45.365,2) //Returns 45.36  C#中的Round()不是我們中國人理解的四捨五入,是老外的四捨五入,是符合IEEE標準的四

Android double保留兩位小數:擷取 四捨五入

方式一: BigDecimal.setScale()方法用於格式化小數點 setScale(2);//表示保留2位小數,預設用四捨五入方式  setScale(2,BigDecimal.ROUND_

java BigDecimal用法詳解(保留小數,四捨五入,數字格式化,科學計數法轉數字等)

一、簡介    Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數進行精確的運算。雙精度浮點型變數double可以處理16位有效數。在實際應用中,需要對更大或者更小的數進行運算和處理。float和double只能用來做科學計算或者是

如何去掉BigDecimal得科學計數法保留7位小數問題關

<span style="background-color: rgb(255, 255, 255);"><span style="font-size:18px;"><s

C++ 如何保留兩位小數有效位數

顯示 pre 範圍 整數 格式 參數 作用 out color cout<<setiosflags(ios::fixed)<<setprecision(2);//需要頭文件#include <iomanip> 然後再輸出實數類型變量即

BigDecimal的加減乘除即保留小數

加減乘除       BigDecimal bignum1 = new BigDecimal("10");        BigDecimal bignum2 = new BigDecimal("5"); &

Java計算兩個經緯度之間的距離公式,外加百度地圖高德地圖轉換,保留小數

在網上看到了很多兩個座標之間的距離公式,也都親自測試了,有很多都不可以用,後來找到一個比較好的距離演算法,分享給大家 經緯度兩點之間的距離公式 public class MapUtils { private static double rad(double d) { return

oracle 保留小數位數及四捨五入

小數位的保留,值得注意一下 最近修改同事的程式碼 發現 他是這麼寫的  Sql程式碼  select to_char(round(123456789), rpad('999999',動態保留位數引數,'0'))   from dual   如果這個 動態保留位數引數 是

javascript---小數進行四捨五入保留幾位小數

也沒有很複雜,一看就懂。 <script language="javascript"> document.write("<h1>JS保留小數點後兩位的例子</h1><br>"); var a=3.1415926;

BigDecimal保留小數

public class test1_format { public static void main(String[] args) { BigDecimal decimal = new BigDecimal("1.12345"); System.out.println(decimal); BigD

js 數字格式化(千分位,保留幾位小數四捨五入

function formatNumber(num,cent,isThousand) { num = num.toString().replace(/\$|\,/g,'');

Oracle的取整四捨五入函式——floor,round,ceil,trunc使用說明

看了electrictoolbox上對PHP,MySQL,JavaScript幾種語言關於取整數的專題,也就依樣畫葫蘆整理了Oracle的取整函式說明,這就是本文的由來。FLOOR——對給定的數字取整數位 SQL> select floor(2345.67) fro

java除法保留小數問題

java保留兩位小數問題: 方式一: 四捨五入  double   f   =   111231.5585;  BigDecimal   b   =   new   BigDecimal(f);  double   f1   =   b.setScale(2,   BigDe

對於浮點數doublefloat資料DecimalFormat保留小數並且格式化並設定千分位數操作

//示例一:最多保留兩位小數 System.out.println("--------###,###.##---------------"); System.out.println(new DecimalFormat("###,###.##").format(1231111.

63.保留小數位數精確數字(NSDecimalNumber/NSDecimalNumberHandler)

大家都會在開發中遇到, 一個 float或者 double 型別的小數上, 有時候會有一個精度的丟失, 造成資料不準確. 尤其是在涉及到一些支付的專案, 都要求比較精確, 所以來說一說NSDecimalNumber, 順便說一下保留小數的方法,NSDecimal