当前位置: 首页 > 知识库问答 >
问题:

在Java中,如何将字符串转换为double(不是double)?[副本]

严繁
2023-03-14

这是学校实验室的一部分,我已经研究过了,但我找不到任何东西来完成这项任务。我正在使用FileReader和BufferedReader读取文件中的行。文件中的数据是以下格式的名称和年龄:

无名氏20

无名氏30

等等,我已经有了代码,可以将每一行进行拆分:split[0]={“John”,“doe”,“20”}

我需要得到“20”,并存储在一个双倍数组中,例如double[0]=20;

它必须是double而不是double的原因是,作业中的部分代码已经编写好了,我确信我不能只决定更改所有内容而使用double。我该怎么做?提前感谢您!

共有2个答案

唐元凯
2023-03-14

您需要将其放入for循环并开始迭代。。。我将只使用List操作数据,因为我们不知道有多少匹配项(因此,我们无法设置数组)。

String[] startingArray; // Whatever you put in here
List<Double> endingList = new ArrayList<Double>();
for (String element : startingArray) {
    try {
        endingList.add(Double.parseDouble(element));
    } catch (NumberFormatException e) {
        // do nothing if it doesn't parse
        // note that catching exceptions do not have an adverse effect on performance
    }
}

// Either, if you want it in a Double[]... or
Double[] endingArray = endingList.toArray(new Double[endingList.size()]);

// If you want a double[], start iterating...
double[] endingArray = new double[endingList.size()];
for (int i = 0; i < endingList.size(); i++) {
    endingArray[0] = endingList.get(0);
}
贺俊杰
2023-03-14

使用Double#parseDouble。

正如您所看到的,静态方法返回一个原语double,而不是一个对象double:

public static double parseDouble(String s)
public static void main(String[] args) {
    String strNumber = "20";
    double myParsedDouble = Double.parseDouble(strNumber);

    System.out.println(myParsedDouble);
}
 类似资料:
  • 如何将Java中的字符串(如12.34)转换为双精度?

  • 问题内容: 将带逗号的字符串数字(例如:835,111.2)转换为Double实例的最简单,正确的方法是什么。 谢谢。 问题答案: 看一看。例如: 根据您使用的数量类型,您可能想解析为一个。最简单的方法可能是: 或与一起使用:

  • 问题内容: 我不确定是我还是什么,但是将双精度转换为字符串时遇到问题。 这是我的代码: 我是在做错事还是在这里错过了一步。 尝试将其转换时出现错误。 我正在尝试在onTouchListener中执行此操作。病态发布更多代码,基本上是当用户触摸编辑文本框时,我希望信息计算填充编辑文本框。 问题答案: 这会将double转换为String

  • 问题内容: 我正在实现一个接口,该接口的功能类似于可以包含某种对象的表的功能。该接口指定以下功能: 在我的实现中,我感到很困惑的是,我将表数据存储在2D 数组()中。当我需要返回值时,我想执行以下操作(假定只在包含double的列上调用,因此将没有): 但是- Java不允许强制转换为。将其强制转换为可以,因为它是一个对象,而不是基元,但是我的接口指定数据将以形式返回。 所以我有两个问题: 有什么

  • 我在neo4j关系的属性中存储了一个double(-0.1643)作为字符串(“-0.1643”)。 显然,我可以将数据存储为数值。但是在cypher中可以将字符串转换为double吗?类似于:

  • 问题内容: 我是Java的新手,想知道double转换为int cast如何工作吗?我知道,只需将低32位转换为int就很容易了,但是将double(64位)转换为int(32位)呢?来自二进制的double中的那64位是Double- precision浮点格式(Mantissa),那么它如何在内部转换为int? 问题答案: 所有这些都记录在JLS的5.1.3节中。 第一步,将浮点数转换为lon