以科学计数形式将字符串转换为整数

时间:2019-05-13 05:57:12

标签: julia scientific-notation

将以科学计数形式存储数字的字符串转换为整数的规范方法是什么?

来自

"1e6"

1000000

至于反向过程,我知道我可以使用@sprintf宏来将整数转换为科学计数形式的字符串。如果知道正确的格式来实现完全相反的过程-这么小的e且没有多余的尾随.00零(如1.00e6)或前导零(如1e08) -如果将其包括在内是为了完整性,我将不胜感激。

1 个答案:

答案 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"