我如何能转换一个字符串,如“12.34”到双在Java?
当前回答
还有另一种方法。
Double temp = Double.valueOf(str);
number = temp.doubleValue();
Double是一个类,“temp”是一个变量。 “number”是你要找的最终数字。
其他回答
String s = "12.34";
double num = Double.valueOf(s);
如果在将字符串解析为十进制值时遇到问题,则需要将数字中的“,”替换为“”。
String number = "123,321";
double value = Double.parseDouble( number.replace(",",".") );
使用此转换任何字符串数字为double当你需要int时,只需将数据类型从num和num2转换为int; 把所有的情况下,任何字符串double与Eng:"Bader Qandeel"
public static double str2doubel(String str) {
double num = 0;
double num2 = 0;
int idForDot = str.indexOf('.');
boolean isNeg = false;
String st;
int start = 0;
int end = str.length();
if (idForDot != -1) {
st = str.substring(0, idForDot);
for (int i = str.length() - 1; i >= idForDot + 1; i--) {
num2 = (num2 + str.charAt(i) - '0') / 10;
}
} else {
st = str;
}
if (st.charAt(0) == '-') {
isNeg = true;
start++;
} else if (st.charAt(0) == '+') {
start++;
}
for (int i = start; i < st.length(); i++) {
if (st.charAt(i) == ',') {
continue;
}
num *= 10;
num += st.charAt(i) - '0';
}
num = num + num2;
if (isNeg) {
num = -1 * num;
}
return num;
}
还有另一种方法。
Double temp = Double.valueOf(str);
number = temp.doubleValue();
Double是一个类,“temp”是一个变量。 “number”是你要找的最终数字。
试试这个, BigDecimal bdVal = new BigDecimal(str);
如果你想要双倍,那就试试 Double d = Double. valueof (str); System.out.println (String.format(“%。3f", new BigDecimal(d)));
推荐文章
- 在流中使用Java 8 foreach循环移动到下一项
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 用Java计算两个日期之间的天数
- 如何配置slf4j-simple
- Printf与std::字符串?
- 在Jar文件中运行类
- 带参数的可运行?
- 不区分大小写的“in”
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 我可以在Java中设置enum起始值吗?
- Java中的回调函数
- 如何在PHP中截断字符串最接近于一定数量的字符?
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 在Java中,流相对于循环的优势是什么?
- Jersey在未找到InjectionManagerFactory时停止工作