java大数输出一位小数_java大数练习 大明A+B(大数小数的高精度)
title: java大數(shù)練習 大明A+B(大數(shù)小數(shù)的高精度)
tags: [acm,杭電,大數(shù)]
題意
Problem Description
話說,經(jīng)過了漫長的一個多月,小明已經(jīng)成長了許多,所以他改了一個名字叫“大明”。
這時他已經(jīng)不是那個只會做100以內(nèi)加法的那個“小明”了,現(xiàn)在他甚至會任意長度的正小數(shù)的加法。
現(xiàn)在,給你兩個正的小數(shù)A和B,你的任務是代表大明計算出A+B的值。
Input
本題目包含多組測試數(shù)據(jù),請?zhí)幚淼轿募Y(jié)束。
每一組測試數(shù)據(jù)在一行里面包含兩個長度不大于400的正小數(shù)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
分析:
首先是小數(shù)的末尾沒有零,然后如果數(shù)位過長,java會自動轉(zhuǎn)化為科學計數(shù)法來表示
代碼:
import java.math.BigDecimal;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
BigDecimal a,b;
Scanner scanner=new Scanner(System.in);
while(scanner.hasNextBigDecimal())
{
a=scanner.nextBigDecimal();
b=scanner.nextBigDecimal();
String string=a.add(b).stripTrailingZeros().toPlainString();
//stripTrailingZeros();去掉末尾的零
//toPlainString();不用科學計數(shù)法表示
System.out.println(string);
}
}
}
總結(jié)
以上是生活随笔為你收集整理的java大数输出一位小数_java大数练习 大明A+B(大数小数的高精度)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大学计算机课的学后感,大学课程学习心得体
- 下一篇: java实现行程长度编码,java 实现