我正在尝试使用 parseDouble() 将字符串值解析为双精度类型。Parse double 接受我使用 getText() 传递给它的字符串。但这不起作用。然后我用双引号将它连接起来。现在正在工作。但我在这里有一个困惑。为什么它在没有连接的情况下无法工作,尽管它接受一个字符串,并且 getText() 当然是获取一个字符串。编写该语句后,编译器添加了“s:”。我也想知道这在这里意味着什么。我使用的是Android Studio 3.5.0.0
我努力了:
val1=Double.parseDouble(ioTxt.getText());
但这行不通。
正确的说法是:
val1 = Double.parseDouble(s: ioTxt.getText()+"");
ioTxt 是一个文本视图。Val1 是 double 类型的变量。s: 是编译器添加的东西,它不是上面写的语法和语句的一部分
如果写 toString() 而不是串联,上面的语句也能很好地工作。这是:
val1 = Double.parseDouble(ioTxt.getText().toString());
但我再次不明白为什么它需要 toString() 才能正常工作。
我希望在不将其与引号或 toString() 连接的情况下进行工作。
白猪掌柜的
互换的青春
HUH函数
相关分类