【问题标题】:Double to String - Delphi XE4Double to String - Delphi XE4
【发布时间】:2014-05-17 12:44:11
【问题描述】:

如何将双精度格式设置为保留小数点值但不显示小数点的字符串。

例子:

Double: 21.75

格式

String: 0002175

【问题讨论】:

  • 您是否尝试在(T)FormatSettings.DecimalSeparator 设置为#0 的情况下调用FormatFloat()
  • 这种方式行不通,结果如下格式000021。我想只留下数字而不调用其他函数。调用另一个函数已经可以了。但我相信通过格式化会更优雅。
  • 我仔细检查过,DecimalSeparator大多数 用法不允许它为 #0(有一种情况可以,但在这里不适用)。但是,您可以正常格式化 Double,然后删除 DecimalSeparator。不理想,但我没有看到任何其他选项:StringReplace(FormatFloat(...), DecimalSeparator, '', [])

标签: delphi delphi-xe4


【解决方案1】:

您可以像 Remy 建议的那样在一行中手动完成:

text := StringReplace(FormatFloat('0.00', yourNumber), DecimalSeparator, '', []);

这将根据需要格式化浮点数并将小数分隔符替换为空 - 有效地省略它。

请注意强制尾随零,以便您的结果数字处于同一数量级。

【讨论】:

    猜你喜欢
    • 2013-09-13
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多