Doble entrada de Java

Estoy tratando de permitir al usuario la libertad de ingresar un número a su propio estilo como si pudiera elegir ingresar 2 o 2.00, pero como sabe, el doble no puede aceptar esto (2). Quiero que el doble acepte esto solo con 2 decimales (básicamente estoy representando dinero). esto es lo que no estoy seguro de cómo tomar la entrada y convertirla al formato 2decimals. Nuevo en java.tks

Intenté google pero no puedo encontrar dónde puedo formatear en la entrada en sí, lo que significa que ni siquiera permite que el usuario escriba más decimales que no sean 2 decimales, no postproceso después de ingresar varias variables diferentes., Tks

public static void add()
{
 double accbal;
   Scanner sc = new Scanner(System.in);
    DecimalFormat df = new DecimalFormat("0.00");

        System.out.println("Enter account balance");
        accbal =  sc.nextDouble();
 //this is the part where i need to know the entered value is formated to only 2 decimal places

}
Respuesta 1

Dado que mostrar lugares decimales es realmente una formalidad para el usuario final, puede leer su valor como un Stringlugar y convertirlo en un Doubleo BigDecimal, siendo este último el preferido si está trabajando con finanzas reales.

Relacionado: Lo que todo informático debe saber sobre la aritmética de punto flotante

public static void add() {
    BigDecimal accbal; // could declare a Decimal
    Scanner sc = new Scanner(System.in);
    DecimalFormat df = new DecimalFormat("#.00");

    System.out.println("Enter account balance");
    accbal = new BigDecimal(sc.nextLine());
    System.out.println(df.format(accbal.doubleValue()));

}
Respuesta: 2

Estoy creando código que tradujo una palabra (obtenida por el usuario) al Pig Latin. Mi código funciona realmente bien, excepto por una cosa. Quiero que el usuario escriba "y" o "n" para determinar si el código ...

Tengo el siguiente código tratando de convertir entre bytes y matrices de bits, de alguna manera no se está convirtiendo correctamente, ¿qué está mal y cómo corregirlo? Cadena getBitsFromBytes (byte [] Byte_Array) ...

Después de refactorizar algunos paquetes / clases, cuando intento comprometer mi proyecto me sale este error: org.tigris.subversion.javahl.ClientException: svn: Commit falló (los detalles siguen): svn: Item 'One-of-my- .. .

Estamos utilizando Spring versión 4.3.9 y utilizando RestTemplate para llamadas de descanso. Tenemos casos de prueba en los que intencionalmente tenemos contenido mal formateado cuando llamamos a un punto final particular (la solicitud en sí ...