将以科学计数形式存储数字的字符串转换为整数的规范方法是什么?
"1e6"
1000000
至于反向过程,我知道我可以使用@sprintf
宏来将整数转换为科学计数形式的字符串。如果知道正确的格式来实现完全相反的过程-这么小的e
且没有多余的尾随.00
零(如1.00e6
)或前导零(如1e08
) -如果将其包括在内是为了完整性,我将不胜感激。
答案 0 :(得分:1)
从字符串到整数的转换可以通过如下的浮点数来实现:
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"