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
这时他已经不是那个只会做100以内加法的那个“小明”了,现在他甚至会任意长度的正小数的加法。
现在,给你两个正的小数A和B,你的任务是代表大明计算出A+B的值。
每一组测试数据在一行里面包含两个长度不大于400的正小数A和B。
1 1.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
hdu1753java(大数相加)---BigDecimal类的更多相关文章
- 算法笔记--java的BigInteger类及BigDecimal类
引包:import java.math.*; BigInteger类: 可以使用构造方法:public BigInteger(String val),或者valueOf(int)函数,如: BigIn ...
- Java大数处理类:BigInteger类和BigDecimal类
当我们要处理非常大的数据时,平常用的数据类型已不足以表示,在Java中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,这两个类在理论上只要计算机内存足够大就能够表示无线 ...
- java-两个大数相加
题目要求:用字符串模拟两个大数相加. 一.使用BigInteger类.BigDecimal类 public static void main(String[] args) { String a=&qu ...
- POJ 1503 Integer Inquiry(大数相加)
一.Description One of the first users of BIT's new supercomputer was Chip Diller. He extended his exp ...
- Java之大数相加
之前参加某公司笔试,机试题目是大数相加,两大数是字符串形式,求和. 当时讨巧用的是BigDecimal类,但是发迷糊了,以为b1.add(b2)后,和就加到b1上了,结果一直输出不对. 其实应该是这样 ...
- BigDecimal类
如果需要精确的计算结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数的操作. //========================================== ...
- 随机数组&大数相加
随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中 一, 设计思路: 先生成随机数数组,再将数组保存在一个字符串中,然后将数组各数字加和, ...
- BIgInteger类和BigDecimal类的理解
第一部分: 这两个类位于java.math包内,要使用它们必须在类前面引用该包:import java.math.BigInteger;和import java.math.BigDecimal; Bi ...
- java.math.BigDecimal类
BigDecimal类用于高精度计算.一般的float型和Double型数据只可以用来做科学计算或者是工程计算,由于在商业计算中,要求的数字精度比较高,所以要用到java.math.BigDecima ...
随机推荐
- str.match(regex)与regex.exec(str)对比解析,从此不再晕
match属于字符串的方法,exec属于正则表达式的方法.其中regex是否有g标志的区别经常搞不清,所以测试记录下. 1.str.match(regex) regex中无g标志 返回一个数组,arr ...
- A9两款芯片管脚数目
Exynos 4412 bga786; S5P4418 bga513
- Android 内核初识(8)Binder
简介 Binder是Android系统提供的一种IPC(进程间通信)机制.由于Android是基于Linux内核的,因此,除了Binder外,还存在其他的IPC机制,例如管道和socket等.Bind ...
- Android开发UI之Action Bar
郭大神的讲解:http://blog.csdn.net/guolin_blog/article/details/18234477 官网链接:http://developer.android.com/i ...
- Oracle系列之异常处理
涉及到表的处理请参看原表结构与数据 Oracle建表插数据等等 使用select into语句读取tb_Employee的一行,使用异常处理处理no_data_found和two_many_rows ...
- TFS源代码管理
一.服务器配置 1.创建一个Visual Studio Online账户 打开VS,选择团队资源管理器(视图菜单下),然后在团队资源管理器中选择注册Team Foundation Service,打开 ...
- Jersey Restful部署到Tomcat注意事项
新的Jersey版本,支持Servlet 3.x,与Servlet 2.x不一样 实现自定义的Application,使用@ApplicationPath("/")标注 @Appl ...
- BestCoder Round #81 (div.1)A
水题...就是n的三进制后m位 #include<cstdio> #include<cstring> #include<cstdlib> #include<i ...
- 文件同步工具BT Sync介绍和使用说明
BT Sync介绍 BT 下载,相信大伙儿都知道的.今儿个要介绍的 BT Sync,跟 BT 下载一样,都是 BitTorrent 公司发明滴玩意儿,都是采用 P2P 协议来进行传输. 简而言之,BT ...
- Amabri安装前的准备工作
Ambari这个东东对操作系统的要求还是很高的,首先限制了要使用CentOS,RHEL,并且还是64bit 的,让我的Ubuntu泪奔啊---手头正好有RHEL6.x的盘,于是就用红帽吧.但是红帽是收 ...