2012-05-17 9 views
5

Używam doFixed (2) po stronie klienta (javascript). Ale po stronie serwera (java) muszę ponownie przeliczyć. jak mogę to zrobić?Javascript toFixed equivalent in java

+0

'Dane ciągu = "10223455.3415"; BigDecimal decimal = new BigDecimal (data); System.out.println (decimal.setScale (2, BigDecimal.ROUND_HALF_UP) .toPlainString()); ' działa dla mnie – jayanth

+0

Może ta linia kodu pomaga 'System.out.println (String.format (Locale.ENGLISH,"% .2f ", 1.23456));' –

Odpowiedz

7

setScale() z BigDecimal zrobi to za Ciebie na stronie serwera

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 dowolny przykład pls – jayanth

+0

dodany przykład

+0

1000000023.1253456F jeśli dałem temu problemowi – jayanth

3

DecimalFormat „s format metoda jest równoważne w Javie do toFixed w javascript.

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

float data = 1234568.236f; – jayanth

+0

Co masz na myśli przez 'float data = 1234568.236f;'? – henryabra

+0

DecimalFormat decimalFormat = new DecimalFormat ("0. ##"); System.out.println (decimalFormat.format (dane)); = 1234568.25 ale w js daje 1234568.24 – jayanth