作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否有相当于 C utoa 的 Delphi 语言函数,允许我提供基数?我使用的是 Delphi 2007,并且必须读取一个使用 utoa 基数 32 命名的文件。我不想重新发明轮子并引入我自己的错误。 [编辑:] 它的操作方式与 IntToStr 的操作方式相同,它使用基数 10,因此 IntToStr 的等效 utoa 将是 utoa(value, 10);
例如,整数 100 应返回值“34”。
最佳答案
嗯,我搜索了我的旧代码,发现了这个,它似乎有效!
function ItoA(value : Cardinal; Radix : Cardinal) : string;
const
acCharRef : array [0 .. 35] of char
= (
'0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F',
'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',
'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
'W', 'X', 'Y', 'Z'
);
var
nIndex : Integer;
szBuild : string;
begin
{* Now loop, taking each digit as modulo radix, and reducing the value
* by dividing by radix, until the value is zeroed. Note that
* at least one loop occurs even if the value begins as 0,
* since we want "0" to be generated rather than "".
*}
szBuild := '';
repeat
nIndex := value mod radix;
szBuild := acCharRef[nIndex] + szBuild;
value := value div radix;
until value = 0;
result := szBuild;
end;
关于Delphi 相当于 C 中的 utoa,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2102303/
是否有相当于 C utoa 的 Delphi 语言函数,允许我提供基数?我使用的是 Delphi 2007,并且必须读取一个使用 utoa 基数 32 命名的文件。我不想重新发明轮子并引入我自己的错误
我是一名优秀的程序员,十分优秀!