Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XSLT金钱转换_Xslt_Xslt 2.0 - Fatal编程技术网

XSLT金钱转换

XSLT金钱转换,xslt,xslt-2.0,Xslt,Xslt 2.0,我需要XSLT转换来赚钱 在输入XML数据中,价格为数字: <prices> <price>1234</price> <price>1234.5</price> </prices> 1234 1234.5 我需要在XSLT转换后输出XML,如下所示(捷克格式): 1 234,- 1 234,50 可以使用XSLT完成吗?多谢各位 编辑:我正在使用XSLT 2.0。如果样式表中有一个NumberFor

我需要XSLT转换来赚钱

在输入XML数据中,价格为数字:

<prices>
    <price>1234</price>
    <price>1234.5</price>
</prices>

1234
1234.5
我需要在XSLT转换后输出XML,如下所示(捷克格式):


1 234,-
1 234,50
可以使用XSLT完成吗?多谢各位


编辑:我正在使用XSLT 2.0。

如果样式表中有一个
NumberFormat
对象的实例,则可以将数字呈现为特定于语言环境的货币字符串。您可以使用
java.text.NumberFormat.getInstance(Locale.getCurrencyInstance()
获得一个。然后将其添加到样式表中,就可以开始了。

如果样式表中有一个
NumberFormat
对象的实例,则可以将数字呈现为特定于语言环境的货币字符串。您可以使用
java.text.NumberFormat.getInstance(Locale.getCurrencyInstance()
获得一个。然后将其添加到样式表中,然后就可以开始了。

使用,如中所示


但是,我不知道如何用这种方式获得“,-”。

使用,如



但是,我不确定如何通过这种方式获得“,-”。

此转换(在两个版本的XSLT中):


,-
应用于提供的XML文档时

<prices>
    <price>1234</price>
    <price>1234.5</price>
</prices>
<prices>
   <price>1 234,-</price>
   <price>1 234,50</price>
</prices>

1234
1234.5
生成所需的正确结果

<prices>
    <price>1234</price>
    <price>1234.5</price>
</prices>
<prices>
   <price>1 234,-</price>
   <price>1 234,50</price>
</prices>

1 234,-
1 234,50

此转换(在两个版本的XSLT中):


,-
应用于提供的XML文档时

<prices>
    <price>1234</price>
    <price>1234.5</price>
</prices>
<prices>
   <price>1 234,-</price>
   <price>1 234,50</price>
</prices>

1234
1234.5
生成所需的正确结果

<prices>
    <price>1234</price>
    <price>1234.5</price>
</prices>
<prices>
   <price>1 234,-</price>
   <price>1 234,50</price>
</prices>

1 234,-
1 234,50

您使用的是XSLT 1.0还是2.0?前者在进行这种字符串转换方面是出了名的糟糕。您使用的是XSLT1.0还是2.0?前者在做这样的字符串转换方面是出了名的差劲,不过他没有指定使用Java。他很有可能是这样,但还不确定。不过,他还没有指定使用Java。他很可能是,但这还不确定。也许可以用另一个函数将它包装起来,用
-
替换
,00
。有点脏,但它应该可以工作。也许可以用另一个函数包装它,用
-
替换
,00
。有点脏,但应该能用。