2015-09-27 44 views
0

我试图找到一种方法来格式化数字与千位分隔符(在这种情况下逗号),以便我可以以更可读和友好的方式显示数字用户。我知道,我必须首先将整数转换为字符串,使用IntToStr,然后可能使用Length来返回字符串的长度,我一直在寻找使用Insert函数插入逗号的可能性。问题是Insert从左侧的索引位置开始工作,我正在努力研究如何从正确的索引执行此操作。此外,我必须为每个插入的字符串长度添加1,并跟踪已经创建了多少个插入。这看起来相当复杂,特别是随着人数的增加。有没有简单的方法来格式化一个千位分隔符,我忽略了?Inno设置格式与千位分隔符

回答

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/Berlin/en/System.SysUtils.Format

+0

太棒了!马丁你是明星!这是我寻找的简单(比硬编码更好)解决方案,但无法找到。 –