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"