我正在尝试使用千位分隔符(在本例中为逗号)找到格式化数字的方法,以便我可以以更易读且更友好的方式向用户显示该数字。我知道显然我必须首先使用IntToStr
将整数转换为字符串,然后可能使用Length
来返回字符串的长度,我一直在考虑使用{{1}的可能性函数插入逗号。问题是Insert
从左侧索引位置起作用,我正在努力研究如何从正确的索引中做到这一点。另外,我必须为每个插入添加Insert
字符串长度,并跟踪已经进行了多少次插入。这似乎是一种非常复杂的方法,特别是随着数量的增长。是否有一种简单的方法来格式化一个我忽略的千位分隔符的数字?
答案 0 :(得分:2)
要根据当前区域设置格式化数字(而不是硬编码美国/英国风格的“逗号”),请使用Format
support function:
var
D: Integer;
S: string;
begin
D := 1234567;
S := Format('%.0n', [double(D)]);
end;
S
将是:
1,234,567
1.234.567
1 234 567
.0
指定您不需要小数点(因为输入是整数)。
有关详细信息,请参阅http://docwiki.embarcadero.com/Libraries/en/System.SysUtils.Format