gpt4 book ai didi

python - pyxb 的十进制数据类型丢失零

转载 作者:太空宇宙 更新时间:2023-11-04 03:30:25 27 4
gpt4 key购买 nike

我注意到 pyxb decimal 数据类型在呈现为 XML 时不保留尾随零。罪魁祸首是 binding/datatypes.py 第 159 行 XsdLiteral 函数中对 normalize() 的调用:

(sign, digits, exponent) = value.normalize().as_tuple()

(其中 value 是 Python 的 decimal 的一个实例)。这对我来说有点问题,因为我尝试与之交互的 Web 服务需要 X.000 形式的版本号,而 pyxb 将其截断为 X.0.

这是预期的行为吗?或某些标准要求?其他 XML 模式生成库是否也这样做?我现在的解决方案是改用 string,但如果不破坏任何内容,代码将很容易更改。

最佳答案

官方 PyXB 响应是 here , 但来自 the description of the canonical representation of an xs:decimal value :

Leading and trailing zeroes are prohibited subject to the following:
there must be at least one digit to the right and to the left of the
decimal point which may be a zero.

还有 decimal 本身的描述:

Precision is not reflected in this value space; the number 2.0 is not
distinct from the number 2.00.

服务提供商要求提供尾随零是不合格的。

关于python - pyxb 的十进制数据类型丢失零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31297351/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com