java中的Javascript toFixed等价物
我正在客户端(javascript)中使用toFixed(2)。但是在服务器端(java),我必须重新计算。我如何才能做到这一点?的将在服务器端为您做到这一点java中的Javascript toFixed等价物,java,javascript,Java,Javascript,我正在客户端(javascript)中使用toFixed(2)。但是在服务器端(java),我必须重新计算。我如何才能做到这一点?的将在服务器端为您做到这一点 import java.math.BigDecimal; public class Main{ public static void main(String ar[]){ float number = 123.123456F; BigDecimal numberBigDecimal = new BigDecimal(number
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);
}
}
的方法在java中与在javascript中的toFixed等效
DecimalFormat decimalFormat = new DecimalFormat("0.##");
System.out.println(decimalFormat.format(3.1000565));
你所说的浮动数据=1234568.236f是什么意思代码>?DecimalFormat DecimalFormat=新的DecimalFormat(“0.###”);System.out.println(decimalFormat.format(数据));=1234568.25但在js中它给出了1234568.24
String data=“10223455.3415”;BigDecimal decimal=新的BigDecimal(数据);System.out.println(decimal.setScale(2,BigDecimal.ROUND_HALF_UP).toPlainString())代码>大小数,设置刻度是正确的方法。参见Jigar Joshi的@FernandoTorres请详细说明100000023.1253456F如果我给出了这一点,它给出了问题,我为问题添加了一条评论,这很好。感谢@Joshiseems超出了float的范围,它运行良好。我认为这不会给出准确的结果,例如在javascript数字(1.345)中。toFixed(2)将给出1.34,而在java新的BigDecimal(1.345)。setScale(2,BigDecimal.ROUND_-UP)将给出1。35@Sayantan这太荒谬了。是否有解决方案?'String data=“10223455.3415”;BigDecimal decimal=新的BigDecimal(数据);System.out.println(decimal.setScale(2,BigDecimal.ROUND\u HALF\u UP).toPlainString());' 这行代码可以帮助您System.out.println(String.format(Locale.ENGLISH,“%.2f”,1.23456))代码>