Julia 科学记数法中的字符串到整数

Julia 科学记数法中的字符串到整数,julia,scientific-notation,Julia,Scientific Notation,将以科学记数法存储数字的字符串转换为整数的标准方法是什么 从…起 到 至于相反的过程,我知道我可以使用@sprintf宏将整数转换为科学记数法中的字符串。如果一个人知道实现完全相反过程的确切格式-如此小的e,并且没有额外的尾随.00零(如1.00e6),或前导零(如1e08)-为完整起见,请将其包括在内,我将不胜感激。可以通过如下浮点数实现从字符串到整数的转换: julia> Int(parse(Float64, "1e6")) 1000000 如果您知道该数字将符合Int64或类似的

将以科学记数法存储数字的字符串转换为整数的标准方法是什么

从…起 到

至于相反的过程,我知道我可以使用
@sprintf
宏将整数转换为科学记数法中的字符串。如果一个人知道实现完全相反过程的确切格式-如此小的
e
,并且没有额外的尾随
.00
零(如
1.00e6
),或前导零(如
1e08
)-为完整起见,请将其包括在内,我将不胜感激。

可以通过如下浮点数实现从字符串到整数的转换:

julia> Int(parse(Float64, "1e6"))
1000000
如果您知道该数字将符合
Int64
或类似的要求

julia> BigInt(parse(BigFloat, "1e6"))
1000000
对于较大的数字

对于反向过程,
@sprintf
中的默认值如下:

julia> @sprintf("%.0e", 1_000_000)
"1e+06"
但是,在
e
之后会得到
+
,并且指数中至少会显示两位数字(这两种功能都是在进行这种转换时跨不同语言的标准)。还要注意,此过程将导致舍入,例如:

julia> @sprintf("%.0e", 1_000_001)
"1e+06"

+0
然后我将处理使用
replace
功能的问题。谢谢。我想推荐它,可能正确的正则表达式是,例如,
replace(“1e+01”,r“[+]0?”=>”)
julia> @sprintf("%.0e", 1_000_000)
"1e+06"
julia> @sprintf("%.0e", 1_000_001)
"1e+06"