xs:decimal可同时表示整数和小数,因其天然支持无小数点的整数(如42)和带小数部分的数(如3.14),且不强制要求小数位;区别于xs:integer仅接受整数,而xs:float/xs:double存在精度误差和特殊值问题,故业务场景推荐使用xs:decimal。

直接用 xs:decimal 就可以满足“只能是整数或小数”的需求。
为什么 xs:decimal 能同时支持整数和小数
xs:decimal 是 XSD 内置的十进制数值类型,它天然兼容整数(如 42、-7)和带小数部分的数(如 3.14、-0.005),不需要额外声明或转换。
它和 xs:integer 的关键区别在于:
– xs:integer 只接受无小数点的整数;
– xs:decimal 允许小数点,但不强制必须有小数位。
基础定义方式(直接使用内置类型)
最简写法,直接在元素或属性中引用:
这样 <price>99</price> 和 <price>99.95</price> 都合法,而 <price>99.5a</price> 或 <price>1e2</price> 会被拒绝。
如果需要进一步约束范围或精度
可以用 <simpletype></simpletype> + <restriction></restriction> 做限制:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~