1. 程式人生 > >java 輸出去掉前導的 0 和後面不要的 0

java 輸出去掉前導的 0 和後面不要的 0

去掉前導的0,即把一個數字小數點前的0去掉。可以將該數字轉換為字串,然後把小數點前的數字與0比較,若為0,去掉。與0比較可用BigDecimal類下的compareTo()方法。去掉後面的0,例如使123.45000變為123.45可用BigDecimal類下的stripTrailingZeros()方法。另外,如果輸出的結果為科學計數法,可用toPlainString()方法改為普通的數字表示。

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

public class Main {

    public
static void main(String[] args) { Scanner input = new Scanner(System.in); while(input.hasNext()){ String str = input.nextLine(); BigDecimal r = new BigDecimal(str.substring(0, 6)); int n; if(str.charAt(7) == ' '){ n = Integer.valueOf(str.substring(8
, 9)); }else{ n = Integer.valueOf(str.substring(7, 9)); } BigDecimal temp = r; for(int i = 0; i < n-1; i++){ temp = temp.multiply(r); } String[] arr = temp.toPlainString().split("\\."); BigDecimal pre = new
BigDecimal(arr[0]); BigDecimal zero = new BigDecimal("0"); if(pre.compareTo(zero) == 0){ System.out.println("."+arr[1]); }else{ System.out.println(temp.stripTrailingZeros().toPlainString()); } } } }