下边情况,小菜鸟编程,小毛病!
遇到后开发记录。
[希望览官大人指教]:
java语言开发:
1.String类的indexOf方法
public static void main(String[] args) {
String a = "ab-cd";
if("-".indexOf(a) != -1){
System.out.println("pre inner");
}
if(a.indexOf("-") != -1){
System.out.println("lef inner");
}
}
程序只输出:lef inner
注:①前者为字符串大集合,②大集合字符串必须放前边,③lastIndexOf也是类似
2.基本类型Double,字符串转换Double[可转换]
double x = Double.valueOf("123").doubleValue();
System.out.println(x);
程序输出为:123.0
说明:上例是将一个字符串"123"转化成一个Double对象(Double是一个类),然后再调用这个对象的doubleValue()方法返回其对应的double数值,赋给x。
3.double保留"x.00"的两个“0”结尾的显示
//实现价格保留两位小数,不足会补零
String priceStr = "2008";
priceStr = "2000";
double amount = Double.parseDouble(priceStr);
amount = amount / (Math.pow(10, 2));
DecimalFormat df = new DecimalFormat();
df.applyPattern("#0.00");
BigDecimal bd = new BigDecimal(df.format(amount));
priceStr = bd.toPlainString();
System.out.println(priceStr);
程序输出:20.08
20.00
4:Math的round和pow
//Math.round(x);返回数字最接近的整数,四舍五入取整数,即舍去小数部分
System.out.println(Math.round(123.567));
System.out.println(Math.round(123.456));
//Math.pow(x,y);返回底数的指定次幂
//返回以x的y次幂,等同于x的y次幂的数值表达式
//如果pow的参数过大而引起浮点溢出,返回Infinity
System.out.println("-------");
System.out.println(Math.pow(2,10));//2的10次方等于1024
System.out.println(Math.pow(1024,0.1));//1024的0.1次方等于2
System.out.println(Math.pow(99,9999));//溢出则返回Infinity
System.out.println("-------");
//设置要保留的小数位数,四舍五入,保留三位小数,先乘以10的倍数,然后去掉小数,最后再除以10的倍数
//要格式化的 数字
double Dight = Double.parseDouble("12345.67890");
//要保留的小数位数
System.out.println(Dight);
double How = Double.parseDouble("3");
System.out.println(Math.round(Dight*Math.pow(10,How))/Math.pow(10,How));
程序输出:
124
123
-------
1024.0
2.0
Infinity
-------
12345.6789
12345.679
</**积累../>