如何从字符串中删除尾随零?

ACP*_*ACP 2 java string

我有一个字符串salePrice可以有类似的值29.90000,91.01000,我想得到输出像29.90,91.01小数点后的两位数.我正在使用一个字符串.

Grz*_*Żur 14

一种可能的解决方案

new BigDecimal("29.90000").setScale(2).toString()
Run Code Online (Sandbox Code Playgroud)

或者如果你需要回合

new BigDecimal("29.90100").setScale(2, RoundingMode.HALF_UP).toString()
Run Code Online (Sandbox Code Playgroud)

使用BigDecimal因为从String转换为double会丢失精度!

选择适合您情况的舍入模式.


MG_*_*sta 8

试试这个...

DecimalFormat df2 = new DecimalFormat( "#,###,###,###.##" );
double dd = 100.2397;
double dd2dec = new Double(df2.format(dd)).doubleValue();
Run Code Online (Sandbox Code Playgroud)


Mar*_*ach 5

int lastIndex = salePrice.indexOf(".") + 2
salePrice = salePrice.substring(0, lastIndex);
Run Code Online (Sandbox Code Playgroud)