Delphi strToint64 初始值为零

Delphi strToint64 initial with zero value

在 Delphi XE8 中,我必须将 '03213213210' 字符串转换为 int64 a:=strToint64('03213213210');

我收到一个=3213213210;我怎样才能收到? a = 03213213210;
帮我。谢谢。

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

二进制、八进制、十进制、十六进制等概念对数字的值没有影响,只影响其表示形式。同理,设置位数等格式要求与数值无关,只是属性显示数值的格式

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

因此,如果您确实需要将值作为 Int64 发送,那么您无需再做任何事情。如果它需要用 11 位数字显示,左填充为零,那么格式由显示它的人负责。另一方面,您可能应该将值保存为字符串以保留格式。

我不知道上面两个选项中的哪一个是你需要做的,但我可以很确定尝试在 Int64 中存储前导零不是解决方案,因为那不是可能。