如何将存储数字存储在科学符号中的字符串转换为整数的规范方式?
来自
"1e6"
to
1000000
至于反向过程,将整数转换为科学符号的字符串,我知道我可以使用@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"