网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

java中解决double类型精度丢失问题(BigDecimal)-创新互联

BigDecimal类

对于不需要准确计算精度的数字可以直接使用float或double,但如果要精确计算结果,就必须使用BigDecimal类

为新晃等地区用户提供了全套网页设计制作服务,及新晃网站建设行业解决方案。主营业务为成都做网站、网站建设、新晃网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

public BigDecimal(double val)  将double表现形式转换为BigDecimal

public BigDecimal(int val)         将int表现形式转换成BigDecimal

public BigDecimal(String val)    将String表现形式转换成BigDecima

例:计算一个长方形的边长,每段解释在代码段

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


public class Demo5 {
    public static void main(String[] args) {
        //调用perimeter类
        double z = perimeter();
        //输出z的值,发现精度丢失问题解决
        System.out.println(z);
    }

    public static double perimeter() {
        //Scanner 用户输入
        Scanner sc = new Scanner(System.in);
        //输入一个double类型数值给x,y
        double x = sc.nextDouble();
        double y = sc.nextDouble();
        //把输入的x,y值(长、宽)转成字符串类型给到b1,b2
        BigDecimal b1= new BigDecimal(String.valueOf(x));
        BigDecimal b2= new BigDecimal(String.valueOf(y));
        BigDecimal b3= new BigDecimal("2.0");
        //返回b1+b2再乘b3的值
        return b1.add(b2).multiply(b3).doubleValue();
    }
}

随机输入两个数 如 10.1  10.2

计算结果 z = 40.6 

String.valueOf() ->基本数据类型转换为字符串形式表现

b1.add(b2).doubleValue();
//加法
b1.subtract(b2).doubleValue();
//减法
b1.multiply(b2).doubleValue();
//乘法
b1.divide(b2).doubleValue();
//除法

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站栏目:java中解决double类型精度丢失问题(BigDecimal)-创新互联
文章分享:http://bjjierui.cn/article/cogedi.html

其他资讯