我有一个字符串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会丢失精度!
选择适合您情况的舍入模式.
试试这个...
DecimalFormat df2 = new DecimalFormat( "#,###,###,###.##" );
double dd = 100.2397;
double dd2dec = new Double(df2.format(dd)).doubleValue();
Run Code Online (Sandbox Code Playgroud)
int lastIndex = salePrice.indexOf(".") + 2
salePrice = salePrice.substring(0, lastIndex);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10635 次 |
| 最近记录: |