1. 程式人生 > >BigDecimal保留小數位

BigDecimal保留小數位

package com.algorithms;

import java.math.BigDecimal;
import java.util.Scanner;

/**
 * 調和級數求和
 * @author LYY
 *
 */
public class TiaoHeJiShuTest {

    public static void main(String[] args) {

        System.out.println("請輸入一個正整數:");
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt
(); double sum = 0.0; for(int i=1;i<=num;i++){ sum += 1.0/i; } BigDecimal bigDecimal = new BigDecimal(sum); System.out.println("調和級數的和為 : " + sum); //保留兩位小數,四捨五入 四捨五入模式到正無窮 System.out.println("調和級數的和為 : " + bigDecimal.setScale(2, BigDecimal.ROUND
_HALF_UP)); //保留兩位小數,四捨五入 ROUND_CEILING 四捨五入到正無窮 System.out.println("調和級數的和為 : " + bigDecimal.setScale(2, BigDecimal.ROUND_CEILING)); //保留兩位小數,四捨五入 ROUND_DOWN 向0的方向進行四捨五入 System.out.println("調和級數的和為 : " + bigDecimal.setScale(2, BigDecimal.ROUND_DOWN)); //保留兩位小數,四捨五入 ROUND_FLOOR 向負無窮的方向進行四捨五入 System.out
.println("調和級數的和為 : " + bigDecimal.setScale(2, BigDecimal.ROUND_FLOOR)); //ROUND_HALF_DOWN 保留兩位小數,四捨五入 向(距離)最近的一邊舍入,除非兩邊(的距離)是相等,如果是這樣,向下舍入 System.out.println("調和級數的和為 : " + bigDecimal.setScale(2, BigDecimal.ROUND_HALF_DOWN)); //ROUND_HALF_EVEN 保留兩位小數,向(距離)最近的一邊舍入,除非兩邊(的距離)是相等,如果是這樣,如果保留位數是奇數,使用ROUND_HALF_UP ,如果是偶數,使用ROUND_HALF_DOWN System.out.println("調和級數的和為 : " + bigDecimal.setScale(2, BigDecimal.ROUND_HALF_EVEN)); //ROUND_HALF_DOWN 保留兩位小數,向遠離0的方向進行四捨五入 System.out.println("調和級數的和為 : " + bigDecimal.setScale(2, BigDecimal.ROUND_UP)); } }

這裡寫圖片描述

相關推薦

BigDecimal保留數位

package com.algorithms; import java.math.BigDecimal; import java.util.Scanner; /** * 調和級數求和 * @au

bigdecimal 保留數位

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

BigDecimal型別專題 ,保留數位問題

引數定義 ROUND_CEILING  Rounding mode to round towards positive infinity.  向正無窮方向舍入 ROUND_DOWN  Rounding mode to round towards ze

ORACLE 保留數位

方法一:使用to_char的fm格式  to_char(round(data.amount,2),'FM9999999999999999.00') as amount  不足之處是,如果數值是0的話,會顯示為.00而不是0.00。  另一需要注意的是,格式中小數點左邊9

動態保留整數位以及動態保留數位,然後可正可負(運用正則表示式)

<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>使用者註冊</title> <script src="http://libs.baidu.com/jquery

C/C++整數除法以及保留數位的問題 | 設定輸出寬度 | 設定左對齊

原文連結,非常感謝原作 #include <iostream> #include <iomanip> using namespace std; int main() { int a,b; cin>>a>>b; int C =

保留數位 新增分隔符

/** * 保留小數位+新增分隔符 */ function formatPost(value, row, index){ var oop = 0; if(value<0){ // 負數轉換 oop = Math.abs(value).toFixe

關於C++中保留數位的總結

關於C++中小數位的保留,大致分為三種情況(四捨五入): 注:標頭檔案需要加上“iomanip” (1)setprecision——保留格式為整數位加上小數位的個數 程式: 執行結果: (2)fixed + setprecision¬——保留小數點後的位數

根據指定的保留數位進行四捨五入

//src需要進行計算的原數值 //nbit保留位數 double Rounding(double src, int nbit) {CString strDate;strDate.Format("%lf", src);int nPos = strDate.Find('.

從鍵盤輸入某個十進位制小數或整數,轉換成對應的二進位制小數並輸出。 (查詢十進位制小數轉換成二進位制小數的演算法,使用迴圈來實現。 最多保留數位後7位數字即可)演算法

/*演算法:把小數分成兩截,一截是整數,一截是小數。讓整數除以2取餘,倒敘輸出來 打印出二進位制(第一個數為個位,第二個數為10位,即乘以10,第三位數為百位, 即乘以100。。以此類推,即迴圈乘以10),直到除數 為0為止。小數乘以2,取整然後列印2進位制,直到小數部分

C/C++整數除法以及保留數位的問題

題目描述 Given two postive integers A and B,  please calculate the maximum integer C that C*B≤A, and

如何將decimal保留數位後兩位,使用四捨五入,利用時間差計算部分時間

============================decimal保留小數位後兩位,使用四捨五入。=================   decimal price = 12.128123M;

FloatToStr問題 保留數位

var s: string begin //FormatFloat 的引數1是 String 格式指令, 引數2是實數型別 Extended s := FormatFloat('###.###',12.3456); //返回: 12.346 s := FormatFloat('000.000',12.3

李的銀行存款以及保留數位方法

小李存年初1000元,銀行利率3%,他每一年年底取出100,輸入第n年,輸出卡里還剩多少錢。。 public class Main { public static void main(String[] args) { Scanne

關於js開發中保留數位計算函數(以向上取整或向下取整的方式保留小數)

判斷 開發 func 小數 前端 直接 小數位數 rst 使用 前端工作中經常遇到數字計算保留小數問題,由於不是四舍五入的方式不能使用toFixed函數,本文采用正則表達式匹配字符串的方式,解決對數字的向上或向下保留小數問題: 1、向上保留小數(只要目標小數位後有有效數字

BigDecimal使用3--保留指定數位API

BigDecimal保留小數位數之栗子 BigDecimal result = new BigDecimal("0.055"); System.out.println(result);//0.055 result.setScale(2,

Java中Double保留數位的幾種方法

絕對值 解決 quest getpara 直接 mil pri 表單提交 bsp 最近做個小實驗,其中一部分要求將表單提交的數據轉換為double,這個功能其實很簡單直接一句Double.parseDouble(request.getParameter("chinese")

java 對數位的處理 BigDecimal DecimalFormat 常用操作 淺解

【部落格園cnblogs筆者m-yb原創, 轉載請加本文部落格連結,筆者github: https://github.com/mayangbo666,公眾號aandb7,QQ群927113708】  https://www.cnblogs.com/m-yb/p/9978682.html Deci

水晶報表判斷保留兩位數位位數

小數點以下位數需要保留幾位就選幾位 尾數處理也要選擇 然後點選小數點以下位數右邊的公式編輯 if Right(ToText({P_GPS_App_Models_StockDownloadStockInOutLedgerReport.StockInNum},2),

java中保留double數位的幾種方法

public static void main(String[] args) { //方法一 這個的優勢是得出的double 使用這個方法還有個問題當num=4.015得到的值是4.01 下面兩種方法的結果是4.02 double num = 4.016;