TransWikia.com

Como imprimir 0.10 ao invés de 0.1 em Java?

Stack Overflow em Português Asked on January 2, 2022

O código abaixo conta quantas letras tem numa palavra e multiplica por 0.01. O problema é que quero que, quando uma palavra de 10 letras, por exemplo, for digitada, tenha uma saída de 0.10 e não 0.1.

import java.util.Scanner;
import java.text.DecimalFormat;

public class MedidaDeTempo{

    public static void main(String[] args){
        Scanner ler = new Scanner(System.in);
        String teste;
        int C, tamanho, i = 0;
        double T;

        C = ler.nextInt();

        do{
            i++;
            teste = ler.nextLine();
            tamanho = teste.length();
            T = tamanho * 0.01;

            if(T > 0.00){
                DecimalFormat df = new DecimalFormat("0.##");
                String decimal = df.format(T);
                System.out.printf(decimal + "n");
            }
        } while(i <= C);
    }
}

One Answer

Assim?

System.out.format("%.2f%n", decimal);

Coloquei no GitHub para referência futura.

Você precisa indicar o número de casas decimais e não como deve ser formatado. Espero que não precise de exatidão, esta solução não garante isto.

Answered by Maniero on January 2, 2022

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP