ava Double: 四舍五入并设置小数点位数

public static void main(String[] args) {
     // 1. 先乘后四舍五入, 再除;
          double d = 62.31060027198647; 

        double d2 = Math.round(d*100)/100.0;
        System.out.println("通过Math取整后做除法: " + d2); 

        // 2. 通过BigDecimal的setScale()实现四舍五入与小数点位数确定, 将转换为一个BigDecimal对象.       //下面这个可行
        BigDecimal bd = new BigDecimal(d);
        BigDecimal bd2 = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
       System.out.println("通过BigDecimal.setScale获得: " + bd2); 

       // 3. 通过DecimalFormat.format返回String的
        DecimalFormat df = new DecimalFormat("#.##");
        System.out.println("通过DecimalFormat.format获得: " + df.format(d)); 

        // 4. 通过String.format
        System.out.println("通过StringFormat: " + String.format("%.2f", d));
    }
// 通过Math取整后做除法: 62.31
// 通过BigDecimal.setScale获得: 62.31
// 通过DecimalFormat.format获得: 62.31
// 通过StringFormat: 62.31

个人建议第二种

时间: 2024-08-11 03:35:39

ava Double: 四舍五入并设置小数点位数的相关文章

java中double四舍五入并设置小数点位数的问题

本文系转载,原文地址:http://blog.csdn.net/star_huang/article/details/7639267 今天遇到个需要将一个double类型的数据保留小数点后两位的问题.在网上搜寻的集中解决方案,copy来一下,备用 首先result_value是处理前的double get_double是用来保存我处理后的double   //方案一: get_double = (double)(Math.round(result_value*100)/100.0) //方案二:

统计给定序列的AT-content ,并设置小数点位数

习题来源: Python for Biologists: A complete programming course for beginner 1 #!/bin/python 2 # calculate the AT content of a DNA seq 3 4 def get_at_content(dna, sig_figs = 2): # sig_figs=2 为默认参数 sig_figs 5 length = len(dna) 6 a_count = dna.upper().count

JAVA大数类—基础操作(加减乘除、取模、四舍五入、设置保留位数)

当基础数据类型长度无法满足需求时可以使用大数类 构造方法接受字符串为参数 1 BigInteger bInt = new BigInteger("123123"); 2 BigDecimal bDouble = new BigDecimal("123123.123123124"); 基础操作(取模使用divideAndRemainder方法,返回的数组第二个元素为余数): BigDecimal在做除法时必须设定传入精度(保留多少位小数),否则会出现异常:java.l

Matlab默认精度设置和更改──设置小数点位数_我的资料_百度空间

来源:http://hi.baidu.com/yangyingchao/item/6ccd70303bd076169dc65e22#713670-hi-1-7889-277149e2cc2b44951219652dde905e40

double四舍五入,商品金额大小写转换,设置货币的小数位数跟格式输出,进制转化

1:计算double值四舍五入的方法 对小数数值进行四舍五入,首先应该确认保留小数位, 如果数值的小数精度大于保留小数位,那么开始四舍五入计算.四舍五入的方法非常简单,在所有要丢失精度的小数位中加5,如果大于10则向前进位,最后计算出四舍五入的结果. /// <summary>计算double值四舍五入的方法 /// /// </summary> /// <param name="dbl">进行四舍五入的数值</param> /// &l

转,Oracle中关于处理小数点位数的几个函数,取小数位数,Oracle查询函数

关于处理小数点位数的几个oracle函数() 1. 取四舍五入的几位小数 select round(1.2345, 3) from dual; 结果:1.235 2. 保留两位小数,只舍 select trunc(1.2345, 2) from dual; 结果:1.23 select trunc(1.2399, 2) from dual; 结果:1.23 3.取整数 返回大于或等于x的最大整数: SQL> select ceil(23.33) from dual; 结果: 24 返回等于或小于

JavaScript基础 toFixed() 将一个数值转成字符串,并进行四舍五入,保留指定位数的小数

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=ut

Double 四舍五入保留小数

Double  四舍五入保留小数: package com.conserv.tsas.common.util; import java.math.BigDecimal; public class NumberUtils { /** * @example roundUpNumber(20.47, 0) = 20.5  ||  roundUpNumber(20.475, 0) = 20.48 * @description round up double number * @param Double

设置类型Double小数点位数

Double amount = 100;DecimalFormat dcmFmt = new DecimalFormat("0.0000"); String amountStr = dcmFmt.format(amount)