String Delphi strotInt64带零值的初始值

String Delphi strotInt64带零值的初始值,string,delphi-xe8,int64,String,Delphi Xe8,Int64,在Delphi XE8中,我必须将“03213210”字符串转换为int64 a:=stroint64('03213210') 我收到a=3210;我怎样才能收到?a=03213210 帮助我。谢谢。一个Int64是一个数值。它有一个数字。数字没有格式、前导零、表示基等概念。数字只是一个数字 诸如二进制、八进制、十进制、十六进制等概念对数字的值没有影响,只影响其表示形式。类似地,格式化要求(如设置的位数)与值无关,而是用于显示的值的格式化属性 简而言之,前导零不是数字的属性。Int64变量包含数

在Delphi XE8中,我必须将“03213210”字符串转换为int64
a:=stroint64('03213210')

我收到a=3210;我怎样才能收到?a=03213210

帮助我。谢谢。

一个
Int64
是一个数值。它有一个数字。数字没有格式、前导零、表示基等概念。数字只是一个数字

诸如二进制、八进制、十进制、十六进制等概念对数字的值没有影响,只影响其表示形式。类似地,格式化要求(如设置的位数)与值无关,而是用于显示的值的格式化属性

简而言之,前导零不是数字的属性。
Int64
变量包含数字。当您选择显示它时,您可以选择强制执行一组数字,例如通过使用前导零填充来实现该数字。但这不是数字的属性,
Int64
变量。这是您选择如何显示它的属性

因此,如果您确实需要将值作为
Int64
发送,则无需做更多的事情。如果它需要以11位数字显示,且填充为零,则格式设置由显示它的人负责。另一方面,为了保留格式,可能需要将值作为字符串保存


我不知道上面两个选项中的哪一个是您需要执行的操作,但我可以肯定,尝试在
Int64
中存储前导零不是解决方案,因为这是不可能的。

您的变量
a
是一个数值。没有前导零的概念。只有将数值表示为字符串时,这才有意义。因此,您的问题基于一个错误的前提,我必须将一个值返回给导入delphi的WS-WSDL定义的类,并返回一个数据类型pIva=int64。此值在int64类中定义。我必须发送“03213210”,这是增值税编号。@carmeloconny那么int64是错误的类型,您需要一个字符串而不是字符串是的,我变成了字符串我必须发送03213210我怎样才能添加左边的填充?此int64始终有11位数字。es:00012345678我不能一直重复我自己。你知道
1=01