我想在 java 中减去货币,从我读过的内容中我可以使用 Double 或 BigDecimal。问题是我不能完全按照我的意愿工作。
我想做的是以下。
Double amount1 = 25.50;
Double amount2 = 120.80;
然后我想从有效的 amount2 中减去 amount1,但我不希望答案是 95.3,我希望它是 95.30,然后将此值转换为字符串。
提前致谢。
格式化差异。
Double amount1 = 25.50;
Double amount2 = 120.80;
Double diff = amount2 - amount1;
String diffString = diff.ToString("N");
the value of 95.30 is equal to the value of 95.3. however, you can do for example
string str = (amount2 - amount1);
str += "0";
我想我已经解决了,我使用了以下方法。
double amount1 = 25.50;
double amount2 = 120.80;
double price = amount2-amount1;
DecimalFormat formatter = new DecimalFormat("0.00");
String wihan = formatter.format(price);
数字格式 -
class TstNumberFormat{
public static void main(String[] args) {
java.text.NumberFormat f = null;
try {
Locale ll = new Locale("en", "US");
f = java.text.NumberFormat.getInstance(ll);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
f = java.text.NumberFormat.getInstance();
}
Double amount1 = 25.50;
Double amount2 = 120.80;
f.setMinimumFractionDigits(2);
Double ans = amount2 - amount1;
String ansStr = f.format(ans.doubleValue());
System.out.println("format :" + ansStr);
}
}
有关更多信息,请参阅区域设置和数字格式的 java 文档http://docs.oracle.com/javase/6/docs/api/index.html?java/text/NumberFormat.html