public StringBuffer change(double d) {
StringBudffer str=new StringBuffer(String.valueOf(d));
for (int i=str.indexOF(".")-3;i>0;i=i-3) {
str.insert(i,',');
}
return str;
}
不明白怎么用
是什么
public StringBuffer change(double d) {
StringBudffer str=new StringBuffer(String.valueOf(d));
for (int i=str.indexOF(".")-3;i>0;i=i-3) {
str.insert(i,',');
}
return str;
}
不明白怎么用
是什么
如果从代码意图上看应该是想要将金额插入分割的,号,但是实际上这段代码充满了很多小的问题,不光编译通不过,而且如果double 的数字较大的情况下,还会有意料之外的效果。
// 给你稍微改了改
public static StringBuffer change(double d) {
// 用 NumberFormat 保证使用非科学计数法来.toString
// 如果直接使用 String.toString(d) 的话,可能会有 E 符号
NumberFormat nf = NumberFormat.getInstance();
nf.setGroupingUsed(false);
StringBuffer str=new StringBuffer(nf.format(d));
for (int i=str.indexOf(".")-3;i>0;i=i-3) {
str.insert(i,',');
}
return str;
}