Delphi strToint64初始化为零值

问题描述 投票:-1回答:1

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

我收到了= 3213213210;我怎么能收到? a = 03213213210; 帮我。谢谢。

string delphi-xe8 int64
1个回答
1
投票

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

二进制,八进制,十进制,十六进制等概念对数字的值没有影响,只是它的表示。类似地,格式化要求(例如设定的数字位数)与值无关,但是是格式化显示值的属性。

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

所以,如果你真的需要将值作为Int64发送,那么你没有更多的事情可做。如果需要显示11位数字,左边填充为零,那么格式化是显示它的人的责任。另一方面,您可能应该将值保存为字符串以保留格式。

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

© www.soinside.com 2019 - 2024. All rights reserved.