StringBuffer类的方法应用_小数点前每隔三位加一个,号

来源:互联网 发布:c语言的头文件在哪里 编辑:程序博客网 时间:2024/06/05 02:18

/*insert()方法的使用给实数小数点前每隔三位加一个,号*/
import java.util.Scanner;

class Goods{
String[] goods = new String[]{"电风扇","洗衣机","电视机","电冰箱","空调机"};
double[] price = {120.69,1200,2000,1800.88,2669};//价格
//打印商品清单
public void show(){
System.out.println("\t*****商 品 清 单*****\n");
System.out.println("\t编号\t商品\t价格");
for (int i=0; i<goods.length; i++) {
System.out.print("\t"+(i+1)+"\t"+goods[i]);//输出编号与商品名;
System.out.println("\t"+change(price[i]));//每次调用change函数,格式化价格的表示方式
}
}
//格式化价格(将)
private StringBuffer change(double price){
StringBuffer fprice;//定义一个StringBuffer类型的变量表示格式后的价格
fprice = new StringBuffer(String.valueOf(price));//String.valueOf(price)是将price的值转换为String类型
for (int i=fprice.indexOf(".")-3; i>0; i-=3) {//找到小数点,再确定加入点的位置
fprice.insert(i, ",");//在指定位置插入","号;
}
return fprice;//返回修改后的格式,price此时不再是double类型,而是StringBuffer类型
}
}

public class Dm{
public static void main(String[] args){
Goods test = new Goods();
test.show();
}
}

/*-----------------------------------

*****商 品 清 单*****

编号 商品 价格
1 电风扇 120.69
2 洗衣机 1,200.0
3 电视机 2,000.0
4 电冰箱 1,800.88
5 空调机 2,669.0

-----------------------------------*/


0 0
原创粉丝点击