是否有一个类似于StrToCurr的函数可以处理数千个分隔符?

延斯·穆伦霍夫(JensMühlenhoff)

在这个问题上也有类似的情况

procedure TForm2.FormCreate(Sender: TObject);
var
  S: string;
  C: Currency;
  FormatSettings: TFormatSettings;
begin
  S := '1.000.000,00';
  FormatSettings := TFormatSettings.Create;
  FormatSettings.ThousandSeparator := '.';
  FormatSettings.DecimalSeparator := ',';
  // raises an Exception which is "as designed" as per the documentation
  C := StrToCurr(S, FormatSettings);
  ShowMessage(FormatCurr(',0.00', C));
end;

引用大卫:

因此,将包含数千个分隔符的字符串传递给此函数是错误的。

那么,Delphi是否具有任何内置函数可以解析包含千位分隔符的货币字符串?

约翰

该设计(缺陷)的解决方案很简单:定义自己的功能。

unit MyFixForSysUtils;

interface

function StrToCurr(const Str: string): Currency; overload;
function StrToCurr(Str: string; const FormatSettings : TFormatSettings): Currency; overload;  

implementation

uses SysUtils;

function StrToCurr(Str: string; const FormatSettings : TFormatSettings): Currency;
begin
  Str:= StringReplace(Str, FormatSettings.ThousandSeparator, '', [rfReplaceAll]);
  Result:= SysUtils.StrToCurr(Str, FormatSettings);
end;

 function StrToCurr(const Str: string): Currency;
 begin
   Result:= StrToCurr(Str, FormatSettings);
 end;

如果您确定自己的版本比范围更近sysutils,则无需更改代码:

uses
  SysUtils,
  MyFixForSysUtils,  <-- contains the above function
  .... other units.

现在,Delphi将选择固定功能而不是损坏的功能。

有关此概念的更多信息,请参见:Delphi插入器

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从具有数千个分隔符的字符串中解析数字

来自分类Dev

Swift如何使用数千个分隔符格式化大量数字?

来自分类Dev

用正则表达式替换csv中的数千个分隔符

来自分类Dev

在WooCommerce产品页面中以总价格添加数千个分隔符

来自分类Dev

使用jq json cli以数千个分隔符格式编号

来自分类Dev

无法打印期间数千个分隔符

来自分类Dev

使用包含数千个分隔符的数字列读取csv

来自分类Dev

PHP用逗号爆炸,忽略数千个分隔符

来自分类Dev

C ++格式的整数将一个点分隔成数千个

来自分类Dev

在不使用字符串格式设置的iPython中设置数千个分隔符

来自分类Dev

在Android中使用数千个分隔符(,)键入时如何格式化EditText的输入?

来自分类Dev

用于数据绑定的格式字符串,不带货币符号的数千个分隔符和括号

来自分类Dev

如何用逗号将数字打印为Java中的数千个分隔符。我也想在该点后仅打印2个数字

来自分类Dev

创建一个能够每秒处理数千个请求的 TCP 套接字服务器

来自分类Dev

具有多个包含数千个文档的集合或一个包含1亿个文档的集合更好?

来自分类Dev

我可以在一个 Azure 事件中心命名空间中创建数千个事件中心吗

来自分类Dev

法国用户是否通常使用\ u00A0来表示数千个分隔符或正常空格,或者根本不使用\ u00A0?

来自分类Dev

使用一个 Mongo 文档来保存数千个对象,还是使用数千个文档每个保存一个对象?

来自分类Dev

有多少个Spark JavaRDD非常适合处理数千个文件?

来自分类Dev

Pouchdb的生产准备就绪且功能强大,可以处理数千个文档

来自分类Dev

数千个地方的格式说明符无效

来自分类Dev

是否有一个numpy函数来生成类似于R的seq函数的序列?

来自分类Dev

是否有一个本机分组函数,其功能类似于sortWith函数?

来自分类Dev

是否有一个类似于STL的函数用索引的某些函数填充数组?

来自分类Dev

使用Leaflet处理数千个标记的最佳实践

来自分类Dev

读取一个大文件与打开数千个文件

来自分类Dev

读取一个大文件与打开数千个文件

来自分类Dev

人脸识别:是否可以对数千个主题进行分类?

来自分类Dev

Rethinkdb是否支持数千个表?

Related 相关文章

  1. 1

    从具有数千个分隔符的字符串中解析数字

  2. 2

    Swift如何使用数千个分隔符格式化大量数字?

  3. 3

    用正则表达式替换csv中的数千个分隔符

  4. 4

    在WooCommerce产品页面中以总价格添加数千个分隔符

  5. 5

    使用jq json cli以数千个分隔符格式编号

  6. 6

    无法打印期间数千个分隔符

  7. 7

    使用包含数千个分隔符的数字列读取csv

  8. 8

    PHP用逗号爆炸,忽略数千个分隔符

  9. 9

    C ++格式的整数将一个点分隔成数千个

  10. 10

    在不使用字符串格式设置的iPython中设置数千个分隔符

  11. 11

    在Android中使用数千个分隔符(,)键入时如何格式化EditText的输入?

  12. 12

    用于数据绑定的格式字符串,不带货币符号的数千个分隔符和括号

  13. 13

    如何用逗号将数字打印为Java中的数千个分隔符。我也想在该点后仅打印2个数字

  14. 14

    创建一个能够每秒处理数千个请求的 TCP 套接字服务器

  15. 15

    具有多个包含数千个文档的集合或一个包含1亿个文档的集合更好?

  16. 16

    我可以在一个 Azure 事件中心命名空间中创建数千个事件中心吗

  17. 17

    法国用户是否通常使用\ u00A0来表示数千个分隔符或正常空格,或者根本不使用\ u00A0?

  18. 18

    使用一个 Mongo 文档来保存数千个对象,还是使用数千个文档每个保存一个对象?

  19. 19

    有多少个Spark JavaRDD非常适合处理数千个文件?

  20. 20

    Pouchdb的生产准备就绪且功能强大,可以处理数千个文档

  21. 21

    数千个地方的格式说明符无效

  22. 22

    是否有一个numpy函数来生成类似于R的seq函数的序列?

  23. 23

    是否有一个本机分组函数,其功能类似于sortWith函数?

  24. 24

    是否有一个类似于STL的函数用索引的某些函数填充数组?

  25. 25

    使用Leaflet处理数千个标记的最佳实践

  26. 26

    读取一个大文件与打开数千个文件

  27. 27

    读取一个大文件与打开数千个文件

  28. 28

    人脸识别:是否可以对数千个主题进行分类?

  29. 29

    Rethinkdb是否支持数千个表?

热门标签

归档