double保留两位小数

    public static String format(double dValue, int lScale) {
        // ////负数,则装化为正数后进行四舍五入
        boolean bFlag = false;
        if (dValue < 0) {
            bFlag = true;
            dValue = -dValue;
        }
        long lPrecision = 10000; // 精度值,为了避免double型出现偏差,增加校验位
        long l45Value = lPrecision / 2 - 1; // 四舍五入的判断值
        long lLength = 1; // 乘的数字
        for (int i = 0; i < lScale; i++) {
            lLength = lLength * 10; // 比如保留2位,乘以100
        }
        long lValue = (long) dValue; // 值的整数部分
        long lValue1 = (long) ((dValue - lValue) * lLength); // 乘以保留位数
        long lValue2 = (long) ((dValue - lValue) * lLength * lPrecision); //
        long lLastValue = lValue2 - (lValue2 / lPrecision) * lPrecision;
        if (lLastValue >= l45Value) {
            lValue1++;
        }
        dValue = lValue + (double) lValue1 / lLength; // 四舍五入后的值
        if (bFlag) {
            dValue = -dValue;
        }
        java.math.BigDecimal bd = new java.math.BigDecimal(dValue);
        bd = bd.setScale(lScale, java.math.BigDecimal.ROUND_HALF_UP);
        return bd.toString();
        // Replace by Huang Ye
        // double d = UtilOperation.Arith.round(dValue, lScale);
        // return String.valueOf(dValue);
    }
时间: 2024-11-09 03:15:25

double保留两位小数的相关文章

java使double保留两位小数的多方法

java使double保留两位小数的多方法 java保留两位小数 mport java.text.DecimalFormat; DecimalFormat df = new DecimalFormat("######0.00"); double d1 = 3.23456 double d2 = 0.0; double d3 = 2.0; df.format(d1); df.format(d2); df.format(d3); 3个结果分别为: 3.23 0.00 2.00 java保留

java使double保留两位小数的多方法 java保留两位小数

这篇文章主要介绍了java使double类型保留两位小数的方法,大家参考使用吧 复制代码 代码如下: mport java.text.DecimalFormat; DecimalFormat    df   = new DecimalFormat("######0.00"); double d1 = 3.23456  double d2 = 0.0;double d3 = 2.0;df.format(d1); df.format(d2); df.format(d3); 3个结果分别为:

java double 保留两位小数

java保留两位小数问题: 方式一: 四舍五入  double   f   =   111231.5585;  BigDecimal   b   =   new   BigDecimal(f);  double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();  保留两位小数  ---------------------------------------------------------------   方

【.Net】c# 让double保留两位小数

1.Math.Round(0.333333,2);//按照四舍五入的国际标准2.    double dbdata=0.335333;    string str1=String.Format("{0:F}",dbdata);//默认为保留两位 还有一个类似的方法,但是不提倡:   double d1 = 0.335333;   string d2 = d1.ToString("0.00");   // string d3 = d1.ToString("f

C#double保留两位小数

public static void Main(string[] args) { double db = Math.PI; db = Math.Round(db,2); Console.WriteLine(db); Console.ReadKey(); }

double保留两位小数的多方法

方式一: 四舍五入 double   f   =   111231.5585; BigDecimal   b   =   new   BigDecimal(f); double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue(); 方式二: java.text.DecimalFormat   df   =new   java.text.DecimalFormat("#.00"); df.format(你要

完成率,保留两位小数,double

JAVA实现保留两位小数 double fk = fkyfk==0?0:(fkyfk - fkwfk) / fkyfk; double jj = jjyfk==0?0:(jjyfk - jjwfk) / jjyfk; BigDecimal bfk = new BigDecimal(fk); BigDecimal bjj = new BigDecimal(jj); int fk1 = bfk.setScale(0, BigDecimal.ROUND_HALF_UP).intValue(); int

java,中双精度double控制保留两位小数,js控制两位小数

Java DecimalFormat dcmFmt = new DecimalFormat("0.00"); double db = 12333.353; System.out.println(dcmFmt.format(db)); JS <script type="text/javascript"> //保留两位小数 //功能:将浮点数四舍五入,取小数点后2位 function toDecimal(x) { var f = parseFloat(x);

Double 数据保留两位小数一:五舍六入

1 package com; 2 3 public class T2 { 4 5 public static void main(String[] args) { 6 7 System.out.println(calculateProfit(0.233)); 8 System.out.println(calculateProfit(0.235)); 9 System.out.println(calculateProfit(0.237)); 10 System.out.println(calcul