在 xsl 中格式化科学数字表示形式

2024-02-23

我的 XML 中有以下值-1.8959581529998104E-4。我想将其格式化为使用 XSL 给我的确切数字-0.000189595815299981.

format-number(-1.8959581529998104E-4,'0.000000;-0.000000') gives me NaN.

有任何想法吗?


XSLT 1.0 不支持科学计数法。

This: number('-1.8959581529998104E-4')结果:NaN

This: number('-0.000189595815299981')结果:-0.000189595815299981

XSLT 2.0 支持科学计数法

This: number('-1.8959581529998104E-4')结果:-0.000189595815299981

EDIT:一个非常简单的 XSLT 1.0 解决方法:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="number[substring-after(.,'E')]">
        <xsl:variable name="vExponent" select="substring-after(.,'E')"/>
        <xsl:variable name="vMantissa" select="substring-before(.,'E')"/>
        <xsl:variable name="vFactor"
             select="substring('100000000000000000000000000000000000000000000',
                               1, substring($vExponent,2) + 1)"/>
        <xsl:choose>
            <xsl:when test="starts-with($vExponent,'-')">
                <xsl:value-of select="$vMantissa div $vFactor"/>
            </xsl:when>
            <xsl:otherwise>
                <xsl:value-of select="$vMantissa * $vFactor"/>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
</xsl:stylesheet>

通过此输入:

<number>-1.8959581529998104E-4</number>

Output:

-0.00018959581529998104
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 xsl 中格式化科学数字表示形式 的相关文章

随机推荐

  • 如何正确使用UrlEncode和Decode

    所以我有一个文件要上传到 azure blob 存储 C 测试文件夹 A B testfile txt 以及两个扩展方法 可帮助对我的路径进行编码 以确保为其提供有效的 azure 存储 blob 名称 public static stri
  • 旋转 glViewport?

    在 多点触控 环境中 表面上显示的任何应用程序都可以根据用户的方向旋转 缩放 实际的解决方案是在 FBO 上绘制应用程序 并绘制一个带有纹理的旋转 缩放的矩形 我认为这对性能没有好处 而且所有显卡都不提供FBO 这个想法是沿着用户的方向裁剪
  • 如何获取MASM中当前光标位置

    我正在编写一个智商测试生成程序 其中我必须随机生成包括言语非言语问题的问题 为了生成非语言问题 我想显示其中字母和字母以圆形或三角形出现的问题 但我不知道如何定位它们 例如 在非语言问题中 我想通过编写以下代码将字母和数字放置在三角形中 m
  • 虚拟继承中应该写“public virtual”还是“virtual public”?

    基于http en wikipedia org wiki Virtual inheritance http en wikipedia org wiki Virtual inheritance class Animal Two classes
  • 使用 Django Rest 框架中定义的 mixins 类

    Mixins类的实际用途是什么 我实在不明白 所有 mixins 类 如 CreateModelmixin Listmixin 等功能 都已在基于类的视图 如 ListCreateApiView 中可用 For eg class Examp
  • 从 Firestore 文档中嵌套的集合获取数据的最佳方法是什么?

    我正在浏览 Firestore 文档和指南 我下面的代码示例使用 AngularFire2 让我们考虑一个类似于此处提供的示例的 聊天 集合 https firebase google com docs firestore manage d
  • Python只保留列表中的字母数字单词

    我有一个类似于以下的单词列表 mylist hi h ello how re you list 我想提取所有非字母数字字符以给出如下结果 h ello how re list 请注意 我在现实生活中有一个更长的列表 它包含一些非字母数字实例
  • 如何使用 MS HPC Server 2008 R2 的 MPI 堆栈成功编译 mpi4py?

    故事是这样的 我需要一个 Python 的 MPI 包装器 我知道有mpi4py http code google com p mpi4py 对于当前的工作 我 大部分 使用 Python 和 Windows 我想使用 Microsoft
  • 使用bolthold 3条件进行boltDB查询

    所以我有这个问题 https stackoverflow com questions 72058075 go boltdb query using bolthold之前 我在问题下面有一个有效的答案 但我刚刚意识到我提出的查询没有按计划工作
  • 有没有办法调试 v8 堆之外发生的内存泄漏

    我有一个在 NodeJS 上运行的生产应用程序 它提供了大量的流量 虽然部署后一切顺利 但性能在几个小时后开始下降 我们在 newrelic 上注意到 NodeJS 的非堆内存持续稳定增长 而 V8 堆内存则保持稳定 我们尝试使用 Chro
  • Xampp 上的 Symfony 开发速度非常慢,我该怎么办?

    我已经设置了 Symfony 但每个页面加载需要 40 秒 如果我有一个空控制器 则加载需要 8 秒 如果我开始对数据库进行一些复杂的查询 情况会更糟 我能做些什么 停用分析器 这会改变很多吗 在开发模式下激活 APC 但是这不会成为更改代
  • Rails open-uri 在路径上中断

    我正在尝试使用 open uri 获取 url 我的代码非常简单 url open http localhost 3000 descriptions return render text gt url to json 当我运行此代码时 出现
  • 我可以在 PowerShell 脚本中禁用选择模式吗?

    PowerShell 默认情况下 当您在 PowerShell 控制台内单击时 PowerShell 会进入 选择模式 并暂停脚本 直到您按空格键 输入键或转义键 我有一个无限循环的脚本while true 它应该始终运行 当有人意外单击
  • 使用 WinHttp.WinHttpRequest 查找检索到的二进制数据的大小

    我最近意识到 URLDownloadToFile 使用 IE 代理设置 所以我正在寻找替代方案 发现 WinHttp WinHttpRequest 可能有效 ResponseBody 属性似乎包含获取的数据 我需要将其写入文件 问题是我找不
  • 如何在 dos 批处理文件中设置当前工作目录/驱动器?

    cd d projects不起作用 如何设置当前工作驱动器和目录 以便可以从那里运行 msbuild 脚本 这也很方便 pushd D projects 然后您可以返回到之前所在的目录 popd
  • 从转换器返回动态资源

    我想根据布尔值的状态 在本例中为复选框的状态 更改 WPF 控件的颜色 只要我使用静态资源 这就可以正常工作 我的控制
  • .htaccess 重写正则表达式:匹配除“index”之外的任何内容

    我正在尝试创建一个在 htaccess 文件中使用的规则来匹配除了特定的字符串 在本例中 index 我认为应该可以先匹配这个特殊字符串并使用 L 但这不起作用 并且应该可以使用以下正则表达式 但它会导致 500 错误 我想匹配 页面名称1
  • 有没有一个命令行程序可以查找Scaladoc?

    Ruby 有一个名为 ri 的程序 您可以在其中输入 ri Array 并获取其联机帮助页 scaladoc 有类似的东西吗 现在 Scaladoc Web 应用程序 正在通过浏览器内快速搜索的索引得到增强 这种事情应该变得容易得多 特别是
  • 无法通过 HTTP/REST 访问 FireBase 数据库错误 403 Forbidden

    Swift Vapor 服务器框架 Xcode 8 1 我正在尝试读取 Firebase 实时数据库 向我的数据库发出 HTTP 请求 但权限被拒绝 这些是步骤 1 创建 JWT 使用从 console developers google
  • 在 xsl 中格式化科学数字表示形式

    我的 XML 中有以下值 1 8959581529998104E 4 我想将其格式化为使用 XSL 给我的确切数字 0 000189595815299981 format number 1 8959581529998104E 4 0 000