XSLT - 四舍五入到小数点后两位

Posted

技术标签:

【中文标题】XSLT - 四舍五入到小数点后两位【英文标题】:XSLT - Round up to two decimal places 【发布时间】:2022-01-02 05:41:25 【问题描述】:

需要将值向上(始终)四舍五入到小数点后两位。意思是,数字 8.3333333 应该变成 8.34。 Round 和 format-number 函数似乎无法实现这一点。请问有人知道如何使用 xslt 转换获得所需的输出吗?

【问题讨论】:

8.38.30 会发生什么? 【参考方案1】:

将数字四舍五入,精确到小数点后两位:

ceiling(100*$value) div 100

如果您需要尾随零(即 字符串,而不是 数字),请将其包装在 format number() 中。

【讨论】:

在某些极端情况下,使用xs:decimal 比使用xs:double 算法更安全:ceiling(100*xs:decimal($value)) div 100。我不确定这一点,但小数感觉更可靠。

以上是关于XSLT - 四舍五入到小数点后两位的主要内容,如果未能解决你的问题,请参考以下文章

如何用 Python 四舍五入到小数点后两位?

防止四舍五入到小数点后两位

Spark Java 将数据帧中的每个值四舍五入到小数点后两位。

如何在 C# 中将数字四舍五入到小数点后两位?

浮点数四舍五入到小数点后两位

如何将数值四舍五入后保留两位小数点