在VBScript中以指数形式显示/格式化输出

在VBScript中以指数形式显示/格式化输出,vbscript,labview,Vbscript,Labview,我在做一些自动化项目 数据以第三方硬件的形式在LabVIEW中传递,并通过浮点数据类型的OPC服务器进一步传递给WinCC Flexible 输出显示字段支持字符串输出。在VBScript中处理显示字段上显示的数据 目前面临的问题是: WinCC支持浮动标签,最大长度为4 显示字段上显示的输出类型为字符串。 当数据通过LabVIEW传递时,会发生以下情况: 例1: LabVIEW数据:1.27e-4 | WinCC Flex上的输出:0.000127[表示错误] e-5以下的所有数据如上所示 例

我在做一些自动化项目

数据以第三方硬件的形式在LabVIEW中传递,并通过浮点数据类型的OPC服务器进一步传递给WinCC Flexible

输出显示字段支持字符串输出。在VBScript中处理显示字段上显示的数据

目前面临的问题是:

WinCC支持浮动标签,最大长度为4

显示字段上显示的输出类型为字符串。 当数据通过LabVIEW传递时,会发生以下情况:

例1: LabVIEW数据:1.27e-4 | WinCC Flex上的输出:0.000127[表示错误] e-5以下的所有数据如上所示

例2:
LabVIEW数据:1.27e-10 | WinCC Flex上的输出:1.27e-10[正确的代表]

VBScript中是否有方法将输出数据格式化为指数表示法

目前我正在使用此VBS作为表示

 If SmartTags("tag_06_1") = 0 Then SmartTags("output_1") = CStr (SmartTags("presseure_test"))
解决VBScript中所有格式问题的最佳(最有效的)解决方案是利用.NET格式。简单POC脚本:

  Dim aNums : aNums = Split("0.123 1.27e-4 1.27e-10")
  Dim sNum
  For Each sNum in aNums
      WScript.Echo sNum, CDbl(sNum), fmtExpNum(CDbl(sNum))
  Next

Function fmtExpNum(dblX)
  Dim oSB : Set oSB = CreateObject("System.Text.StringBuilder")
  oSB.AppendFormat "{0:E2}", dblX
  fmtExpNum = oSB.ToString()
End Function
输出(德语区域设置):

0.123 0,123 1,23E-001
1.27e-4 0,000127 1,27E-004
1.27e-10 0,000000000127 1,27E-010