java元转分,分转元
java元转分,分转元
元转分
public static int changeY2F(String amount){
BigDecimal bigDecimal =new BigDecimal(amount).setScale(2);//保留两位⼩数
return bigDecimal.multiply(new BigDecimal(100)).intValue();
}
上⾯这种⽅式如果是传的⼩数点后三位,⽐如0.006这样的数字,那么就会报错,解决的⽅式:第⼀种:采⽤四舍五⼊的⽅式
/**
*  newScale  保留的⼩数位;
*  roundingMode  进位模式;
* @see    #ROUND_UP
* @see    #ROUND_DOWN
* @see    #ROUND_CEILING
* @see    #ROUND_FLOOR
* @see    #ROUND_HALF_UP
* @see    #ROUND_HALF_DOWN
* @see    #ROUND_HALF_EVEN
* @see    #ROUND_UNNECESSARY
*/
public BigDecimal setScale(int newScale,int roundingMode){
}
第⼆种:直接保留两位⼩数
int B =new BigDecimal("0.0006").multiply(new BigDecimal(100)).intValue();
System.out.println(B);
分转元
public static String changeF2Y(int price){
return BigDecimal.valueOf(Long.valueOf(price)).divide(new BigDecimal(100)).toString();
}
⾦额加逗号
public static String getMoneyNumber(double inNumb){
bigdecimal格式化两位小数DecimalFormat decimalFormat =new DecimalFormat("###,###.00");
return decimalFormat.format(inNumb);
}
举个例⼦:
String str ="9000000";
BigDecimal b =new BigDecimal(str);
DecimalFormat df =new DecimalFormat("###,###.00");
String format = df.format(b);
System.out.println(format);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。