rust - 如何将 std::ffi::OsString 转换为 f64 或 f32
问题描述
我正在使用函数获取第二个参数,并希望将其从 std::ffi:OsString 转换为浮点数或双精度数。我目前有以下代码,但解析不起作用。
fn get_second_arg() -> Result<f64, Box<dyn Error>> {
match env::args_os().nth(2) {
None => Err(From::from("expected 2 arguments")),
Some(min_balance) => {
let min_balance_f64: f64 = min_balance.parse()?
Ok(min_balance_f64)
}
}
}
我得到错误:
no method named `parse` found for struct `std::ffi::OsString` in the current scope
解决方案
std::ffi::OsString
有一个into_string
返回的成员,Result<String, OsString>
您可以在其中提取Ok
变量并调用String::parse
.
推荐阅读
- php - 是否可以使用 Moodle 数据库进行身份验证以登录另一个系统?
- typescript - 带有类型推断的映射元组类型的问题
- gluon-mobile - 运行 mvn -Pios client:link 会导致未定义的符号
- php - 未找到实现 asinfotrack\yii2-wiki 模块
- android - Flutter Release bundle 或 APK 在启动时崩溃,dlopen 失败:找不到库“libflutter.so”
- html - 为什么 (className:hover + className) 在我的页面上不起作用?
- javascript - 如何在plotly.js中将xaxis范围设置为月份(一月,二月到十二月)?
- java - Java 中的比较器和 PriorityQueue 是如何工作的?
- azure - Azure B2C:自定义声明未通过自定义策略写入 AAD
- javascript - 如何将问题从文本字段更改为单选按钮?