zoukankan      html  css  js  c++  java
  • hdu1753java(大数相加)---BigDecimal类

    大明A+B

    Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 11617 Accepted Submission(s): 4211


    Problem Description
    话说,经过了漫长的一个多月,小明已经成长了许多,所以他改了一个名字叫“大明”。
    这时他已经不是那个只会做100以内加法的那个“小明”了,现在他甚至会任意长度的正小数的加法。

    现在,给你两个正的小数A和B,你的任务是代表大明计算出A+B的值。
     
    Input
    本题目包含多组测试数据,请处理到文件结束。
    每一组测试数据在一行里面包含两个长度不大于400的正小数A和B。
     
    Output
    请在一行里面输出输出A+B的值,请输出最简形式。详细要求请见Sample Output。
     
    Sample Input
    1.1 2.9
    1.1111111111
    2.3444323343 1 1.1
     
    Sample Output
    4 3.4555434454 2.1
    -------------------------------------------------

    import java.math.BigDecimal;
    import java.math.BigInteger;
    import java.util.Scanner;
    public class Main1753 {
    public static void main(String[] args) {
    Scanner cin=new Scanner(System.in);
    while(cin.hasNext()){
    BigDecimal a=cin.nextBigDecimal();
    BigDecimal b=cin.nextBigDecimal();
    BigDecimal c=new BigDecimal(0);
    c=a.add(b);
    String str=c.stripTrailingZeros().toPlainString();//这里采用了先去掉末尾的0然后再转化成字符串输出;
    System.out.println(str);
    }
    }

    }

    ----------------------------------------

    java.math.BigDecimal.stripTrailingZeros() 返回一个BigDecimal,它在数值上等于这一个,但表示形式移除所有尾部零。

    例如,从BigDecimal值600.0,其中有[BigInteger,精度]组件等于[6000,1],得到6E2使用[BigInteger,精度]组件剥离尾随零等于 [6, -2]

    声明

    以下是声明java.math.BigDecimal.stripTrailingZeros()方法

    public BigDecimal stripTrailingZeros()

    参数

    • NA

    返回值

    此方法返回与移除所有尾部零的数值上相等的BigDecimal

    异常

    • NA

    例子

    下面的例子显示math.BigDecimal.stripTrailingZeros()方法的用法

    package com.yiibai;
    
    import java.math.*;
    
    public class BigDecimalDemo {
    
        public static void main(String[] args) {
    
            // create 4 BigDecimal objects
            BigDecimal bg1, bg2, bg3, bg4;
    
            bg1 = new BigDecimal("235.000");
            bg2 = new BigDecimal("23500");
    
            // assign the result of stripTrailingZeros method to bg3, bg4
            bg3 = bg1.stripTrailingZeros();
            bg4 = bg2.stripTrailingZeros();
    
    	String str1 = bg1 + " after removing trailing zeros " +bg3;
    	String str2 = bg2 + " after removing trailing zeros " +bg4;
    
            // print bg3, bg4 values
            System.out.println( str1 );
            System.out.println( str2 );
        }
    }

    让我们编译和运行上面的程序,这将产生以下结果:

    235.000 after removing trailing zeros 235
    23500 after removing trailing zeros 2.35E+4
      
  • 相关阅读:
    Oracle基础知识整理
    linux下yum安装redis以及使用
    mybatis 学习四 源码分析 mybatis如何执行的一条sql
    mybatis 学习三 mapper xml 配置信息
    mybatis 学习二 conf xml 配置信息
    mybatis 学习一 总体概述
    oracle sql 语句 示例
    jdbc 新认识
    eclipse tomcat 无法加载导入的web项目,There are no resources that can be added or removed from the server. .
    一些常用算法(持续更新)
  • 原文地址:https://www.cnblogs.com/1314wamm/p/5682144.html
Copyright © 2011-2022 走看看