首页 > 解决方案 > Delphi strToint64 初始值为零

问题描述

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

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

标签: stringdelphi-xe8int64

解决方案


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

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

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

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

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


推荐阅读