首页 > 解决方案 > Julia:在 BigFloat 和 BigInt 中使用下划线作为数字分隔符

问题描述

根据 Julia 1.0.0文档

下划线 _ 可用作数字分隔符:

julia> 10_000, 0.000_000_005, 0xdead_beef, 0b1011_0010
(10000, 5.0e-9, 0xdeadbeef, 0xb2)

但是,在 Julia 1.0.0 REPL 中,我得到了这个:

julia> VERSION
v"1.0.0"

# Underscore does not work work on right side of decimal in BigFloat.
julia> big"3.141_592"
ERROR: ArgumentError: invalid number format 3.141_592 for BigInt or BigFloat

 # Underscore does not work on left side of decimal in BigFloat.
julia> big"123_456.7898"
ERROR: ArgumentError: invalid number format 123_456.7898 for BigInt or BigFloat

# Underscore works for BigInt in example below:
julia> big"123_456_789"
123456789
julia> typeof(ans)
BigInt

显然,下划线可以用于BigInt,但不能用于BigFloat

这是设计使然还是下划线用于BigFloat根本尚未实现?

标签: julia

解决方案


此问题现已在此处的 Julia GitHub 问题站点上发布和讨论。


推荐阅读