public static void getClientUpdate() {
try {
String inputLine;
double version = 0;
URL url = new URL("http://ds-forums.com/client/version.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
version = inputLine;
System.out.println("The version is: " + version);
} catch (Exception x) {
System.out.println(x);
}
}
这听起来真的很愚蠢,但我有一个包含double的txt文件,我想将它保存为double。相反,它想要一个字符串。我做错了还是只需要添加几个步骤?
答案 0 :(得分:3)
好吧,你需要将字符串解析为double。例如,使用Double.parseDouble
。我应该指出,版本字符串听起来不是一个好主意存储为双...你可能想要考虑使用BigDecimal
。对于“真实世界”物理值(例如距离)而言,双打通常更好 - 而不是诸如版本号之类的“人为”值。我认为我甚至不会使用BigDecimal
来表示诚实......这并不是说版本号通常与“普通”数字的处理方式相同。
您是否考虑过创建自己的类型来表示版本号?
答案 1 :(得分:2)
您可以解析获得的字符串:Double.parseDouble(inputLine.trim())
但事实上,我认为版本不应该是双打的。在您的特定情况下,今天可能就是这种情况,但它很容易改变。以下是流行“版本”的一些示例,不能表示为双打:
3.0.5
2.1.GA
1.5快照
0.8b
所以,我建议留下一个字符串。
答案 2 :(得分:1)
Double.parseDouble(string)就是您所追求的目标。