首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >朱莉娅: BigFloat RoundFromZero看起来很奇怪

朱莉娅: BigFloat RoundFromZero看起来很奇怪
EN

Stack Overflow用户
提问于 2018-09-10 03:46:32
回答 1查看 74关注 0票数 1

在Julia 1.0.0 REPL中,我得到了以下行为。第一行是documentation https://docs.julialang.org/en/v1/base/math/#Base.Rounding.RoundFromZero中的示例

代码语言:javascript
复制
julia> BigFloat("1.0000000000000001", 5, RoundFromZero)
1.06

上面例子中的5的意思我不太清楚。例如,

代码语言:javascript
复制
julia> BigFloat("1.01", 5, RoundFromZero)
1.06

在REPL中,被四舍五入的两个数字似乎应该舍入为不同的输出。我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-10 06:09:39

该值以5位精度从零四舍五入,在这两种情况下,该值都与1.0625相同。您可以使用以下命令进行检查:

代码语言:javascript
复制
julia> Float64(BigFloat("1.01", 5, RoundFromZero))
1.0625

代码语言:javascript
复制
julia> big(0)+BigFloat("1.01", 5, RoundFromZero)
1.0625

或者(这是黑客行为,不应该这样做):

代码语言:javascript
复制
julia> x = BigFloat("1.01", 5, RoundFromZero)
1.06

julia> x.prec = 10
10

julia> x
1.0625

代码语言:javascript
复制
julia> Base.MPFR._string(x, 10)
"1.0625"

现在打印1.06的原因是Julia舍入了输出(在本例中,这是来自MPFR外部库的默认舍入)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52248130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档