Function 如何指定整数';VBScript中的总位数是多少?

Function 如何指定整数';VBScript中的总位数是多少?,function,vbscript,ssrs-2008,Function,Vbscript,Ssrs 2008,我在VisualStudio2008的SSRS中有一个“文本字段”,我想将其转换为一个数字,以便导出到Excel。简单地将属性更改为Number不起作用。因此,我决定尝试在Value字段中编写一些代码,以使其正常工作 我有一个发票号码,必须始终有七位数字,例如19385760000001。使用CInt(Fields!Invoice.Value)不起作用,因为它不保留任何前导零。如何将此字段转换为数值(此字段为整数,但有两个其他字段必须使用双精度),同时还要确定必须显示多少位数?类似于CInt(F

我在VisualStudio2008的SSRS中有一个“文本字段”,我想将其转换为一个数字,以便导出到Excel。简单地将属性更改为Number不起作用。因此,我决定尝试在Value字段中编写一些代码,以使其正常工作


我有一个发票号码,必须始终有七位数字,例如19385760000001。使用
CInt(Fields!Invoice.Value)
不起作用,因为它不保留任何前导零。如何将此字段转换为数值(此字段为整数,但有两个其他字段必须使用双精度),同时还要确定必须显示多少位数?类似于
CInt(Fields!Invoice.Value,7)
的功能会很好,但我认为该参数不是函数的一部分。

VBScript没有任何数字格式函数可以用于此功能。你必须自己写

Function PadNumber(x, digit_count)
    If Len(x) < digit_count Then
        PadNumber = String(digit_count - Len(x), "0") & x
    Else
        PadNumber = x
    End If
End Function
功能焊盘编号(x,数字\u计数)
如果Len(x)<数字\u计数,则
PadNumber=字符串(数字计数-长度(x),“0”)&x
其他的
焊盘编号=x
如果结束
端函数

我认为有前导零的唯一方法是将其格式化为字符串。整数没有前导零,整数是一个数字。前导零不是整数的属性,而是整数的文本表示的属性,换句话说,就是字符串。为什么需要将其导出为数字?它需要是一个数字,以便它可以与Excel工作区交互。在BIDS中,您是否可以将其格式设置为0000000,而不是通常的#、#、#0.00?