发布网友 发布时间:2022-05-04 22:24
共5个回答
热心网友 时间:2022-05-18 00:17
String str="4444.1122";
double num;
java.text.DecimalFormat myformat=new java.text.DecimalFormat("#0.00");
num=Double.parseDouble(str);//装换为double类型
num=Double.parseDouble(myformat.format(num));//保留2为小数
System.out.println(num);
Java中double类型数字转换
/*
* 如果是小数,保留两位,非小数,保留整数
* @param number
*/
public static String getDoubleString(double number) {
String numberStr;
if (((int) number * 1000) == (int) (number * 1000)) {
//如果是一个整数
numberStr = String.valueOf((int) number);
} else {
DecimalFormat df = new DecimalFormat("######0.00");
numberStr = df.format(number);
}
return numberStr;
}
思路:
1.如果是整数,比如从服务器获取下来是整数4,由于java特性,会将4转换成4.0.我这边的处理方式是:将这个数字强制取整,然后乘以1000(小数点后移3位)如果等于这个数字乘以1000再取整,那么这个数就是整数,只是被java强制转换成了小数。
2.如果原本就是小数,则利用DecimalFormat直接进行转换。
热心网友 时间:2022-05-18 01:35
可以使用Double.parseDouble(str)转换。代码示例热心网友 时间:2022-05-18 03:09
String str="4444.1122";热心网友 时间:2022-05-18 05:01
String str1 = "44.12";热心网友 时间:2022-05-18 07:09
java.math.BigDecimal