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);
}

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

  1. java 金额计算,商业计算 double不精确问题 BigDecimal,Double保留两位小数方法

    解决办法================== http://blog.javaxxz.com/?p=763 一提到Java里面的商业计算,我们都知道不能用float和double,因为他们无法 进行精 ...

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

    java使double保留两位小数的多方法 java保留两位小数 mport java.text.DecimalFormat; DecimalFormat df = new DecimalFormat ...

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

    这篇文章主要介绍了java使double类型保留两位小数的方法,大家参考使用吧 复制代码 代码如下: mport java.text.DecimalFormat; DecimalFormat    d ...

  4. java double 保留两位小数

    java保留两位小数问题: 方式一: 四舍五入  double   f   =   111231.5585;  BigDecimal   b   =   new   BigDecimal(f);  d ...

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

    1.Math.Round(0.333333,2);//按照四舍五入的国际标准2.    double dbdata=0.335333;    string str1=String.Format(&qu ...

  6. c# 让double保留两位小数

    1.Math.Round(0.333333,2);//按照四舍五入的国际标准2.    double dbdata=0.335333;    string str1=String.Format(&qu ...

  7. java中将double保留两位小数,将double保留两位小数并转换成String

    将Double类型的数据保留2位小数: Double a = 3.566; BigDecimal bd = new BigDecimal(a); Double d = bd.setScale(2, B ...

  8. C#double保留两位小数

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

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

    package com; public class T2 { public static void main(String[] args) { System.out.println(calculate ...

随机推荐

  1. Debian/Ubuntu pip default install to $HOME/.local

    pip default install to $HOME/.local on Debian/Ubuntu After pip 8.1.1-2 on Debian or Ubuntu you can p ...

  2. jquery实现同时展示多个tab标签+左右箭头实现来回滚动

    内容: jquery实现同时展示多张图片+定时向左单张滚动+前后箭头插件 jquery实现同时展示多个tab标签+左右箭头实现来回滚动 小颖最近的项目要实现类似如下效果: 蓝色框圈起来的分别是向上翻. ...

  3. gitlab+jenkins+tomcat CI/CD 部署

    整个项目的框架为: gitlab的安装与使用(Centos7) gitlab的安装 新建yum源 vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] nam ...

  4. Spring 注解配置(2)——@Autowired

    版权声明:本文为博主原创文章,如需转载请标注转载地址. 博客地址:http://www.cnblogs.com/caoyc/p/5626365.html  @Autowired 注释,它可以对类成员变 ...

  5. elk-图形化展示(八)

    可以根据自己定义: pv: uv: ip top 10 ua tope 10 url top 5 status  top 10 仪表板展示:

  6. 剑指offer——python【第16题】合并两个有序链表

    题目描述 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1->1-& ...

  7. Oracle课程档案,第十天

    用户管理 Authentication: 身份验证 AAA:Authentication: 身份验证 Authorization: 权限管理 Audition: 审计 grant:授权 unset:撤 ...

  8. dubbo控制器xml文件报错

    在配置dubbo服务的过程中,经常会遇到虽然程序能够跑起来,但是配置文件一堆红叉,虽然不影响功能,但是确实很让人恶心. 报错信息如下: Multiple annotations found at th ...

  9. python全栈开发 * 26知识点汇总 * 180709

    26 logging collections random 模块 一.logging低配:日志不能写入文件与显示同时进行 import logging logging.basicConfig(leve ...

  10. laravel队列使用

    1.修改.env中queue_driver = databases 2.php artisan queue:table 在database 目录下migrations里面有对应的表 3.执行迁移文件 ...