2012-05-17 16 views
5

Estoy usando toFixed (2) en el lado del cliente (javascript). Pero en el lado del servidor (java) tengo que volver a calcular. ¿Cómo puedo hacer esto?Javascript en equivalente fijo en java

+0

'String data = "10223455.3415"; BigDecimal decimal = new BigDecimal (datos); System.out.println (decimal.setScale (2, BigDecimal.ROUND_HALF_UP) .toPlainString()); ' funciona para mí – jayanth

+0

Tal vez esa línea de código le ayude 'System.out.println (String.format (Locale.ENGLISH,"% .2f ", 1.23456));' –

Respuesta

7

setScale() de BigDecimal lo hará por usted en el lado del servidor

import java.math.BigDecimal; 


public class Main{ 

public static void main(String ar[]){ 
float number = 123.123456F; 
BigDecimal numberBigDecimal = new BigDecimal(number); 
System.out.println(numberBigDecimal); 
numberBigDecimal = numberBigDecimal .setScale(2, BigDecimal.ROUND_HALF_UP); 
System.out.println(numberBigDecimal); 
} 
} 
+0

Jigar cualquier ejemplo pls – jayanth

+0

ejemplo agregado

+0

1000000023.1253456F si le doy esto es porque da el problema – jayanth

3

DecimalFormat 's format método es el equivalente en Java para toFixed en javascript.

DecimalFormat decimalFormat = new DecimalFormat("0.##"); 
System.out.println(decimalFormat.format(3.1000565)); 
+0

datos flotantes = 1234568.236f; – jayanth

+0

¿Qué quiere decir con 'float data = 1234568.236f;'? – henryabra

+0

DecimalFormat decimalFormat = new DecimalFormat ("0. ##"); System.out.println (decimalFormat.format (data)); = 1234568.25 pero en js da 1234568.24 – jayanth