我正在编写一个程序,需要从文件中解析以科学计数法(如 0.00812216d0)编写的数字。事实证明,由于 'd',Julia parse(Type,str) 无法解析这些数字。
如果我用“e”交换“d”,效果很好。然而,到处都写替换函数是非常不切实际的。我不能只对整个文本文件执行此操作,因为这会导致一些不需要的更改。有什么解决办法吗?
尝试(如果你想要双精度,即64位浮点数):
dparse(s) = parse(Float64, replace(s, 'd' => 'e'))
正如 BallpontBen 在评论中所说。对于 BigFloat,将“Float64”替换为上面的 BigFloat。如果您在数据解析中遇到错误,请考虑
dparse(s) = something(tryparse(Float64, replace(s, 'd' => 's')), missing)
这会让你缺少解析错误而不是抛出错误。