Delphi Format 格式化数字
Format('x=%d', [12]); //'x=12' //最普通
Format('x=%3d', [12]); //'x= 12' //指定宽度
Format('x=%f', [12.0]); //'x=12.00' //浮点数
Format('x=%.3f', [12.0]); //'x=12.000' //指定小数
Format('x=%.*f', [5, 12.0]); //'x=12.00000' //动态配置
Format('x=%.5d', [12]); //'x=00012' //前面补充0
Format('x=%.5x', [12]); //'x=0000C' //十六进制
Format('x=%1:d%0:d', [12, 13]); //'x=1312' //使用索引
Format('x=%p', [nil]); //'x=00000000' //指针
Format('x=%1.1e', [12.0]); //'x=1.2E+001' //科学记数法
Format('x=%%', []); //'x=%' //得到"%"
S := Format('%s%d', [S, I]); //S := S + StrToInt(I); //连接字符串\
function Format(const Format: string; const Args: array of const): string;
Format字符串说明:
"%" [index ":"] ["-"] [width] ["." prec] type
(1) 格式化字符串必须以%开头
(2) [index ":"] 索引指的是Args参数列表中要显示的每一项的序号。比如:Args是
['a', 'c'],那么'a'的索引就是0,而'c'的索引就是1,而且由于只有
两项,所以就不会出现大于1的索引值。
Format('%2:s %1:s %0:s', ['1st', '2nd', '3rd']);
结果:'3rd 2nd 1st'
(3) ["-"] 这个标识符的作用是当要显示的字符的个数少于[width]时,在右边填补空格;
如果没加上["-"],则在左边填补空格。
Format('(%4s)', ['aa']); 结果:' aa'
(4) [width] 宽度
规定了要显示的字符的个数。如果要显示的宽度大于[width],则按实际的
宽度来显示;反之,则填补空格或按要求填补其它字符。
(5) ["." prec] 精度
这是针对浮点数来说的,一般就是指小数点后的位数。
(6) type 类型(见下面)
type的可能值有下列这些:
(1) d 有符号十进制数
Args必须是有符号整型数。如果在格式化字符串中还加入了["." prec],则如果Args
的长度如果小于给出的精度数时,在前边填补0;如果大于精度数,按实际长度显示。
Format('(%.3d)', [99]); 结果:'(099)'
(2) u 无符号十进制数
Args必须是无符号整型数。其它特性与d一样。
(3) e 科学技术法
用科学技术法显示数据,形式大致如下:'-d.ddd...E+ddd'。
Args必须是一个浮点数。如果是一个负数,则在最前面显示一个符号;在小数点前面
总是显示一位数字;包括小数点前面的数字在内,数字的个数由["." prec]来确定,
如果没有指定["." prec],则默认为15位精度。如果实际的数字长度超出了指定的
["." prec],则刚刚超出的那一位数字四舍五入。指数符号E后面总是要跟着加号或
减号,并且在后面至少跟着三位数字。
(4) f 固定的
Args必须为浮点数,转换后的形式大致是'-ddd.ddd...'这样的。
如果要转换的是负值,则前面有一个负号。转换后的数字,在小数点后面的数字的个数
由["." prec]决定。如果没有指定["." prec],默认为2位精度。
(5) g 一般的
Args必须为浮点数。
被转换后的数字总是尽可能的简短(有可能是f或e形式的)。有重要意义的数字的长度
由["." prec]来决定,默认为15位(包括整数位和小数位)。数字前后的0都将被去掉,
小数点也只有在必要的时候才显示出来。如果小数点左边的数字小于等于指定的精度,
并且整个值大于或等于0.00001的时候,才使用f的显示格式,否则使用e(科学技术法)
(6) n Args必须是浮点数。形式和f是一样的,不同的是会显示千位符,如:1,123,444
(7) m 货币类型
Args必须是浮点数。能够显示货币符号,可以通过“控制面板”来设置。小数点后
的位数由["." prec]决定,如果没用["." prec],则默认2位。
(8) p 指针
Args必须是一个指针值。
将指针转换为8个字符的十六进制字符串。
(9) s 字符串
Args必须是字符,字符串或PChar值。
如果指定了["." prec],并且字符串的实际长度大于["." prec],则从左到右截取
精度指定数量的字符串,其余的删除。
(10) x 十六进制
Args必须是一个整型数。
如果使用了["." prec],不足部分要用0补齐。
注意:[index ":"] [width] ["." prec]可以使用这样的格式:
Format('%*.*f', [8, 2, 123.456])
等价于:Format('%8.2f', [123.456]).
转载自:天空的博客(http://wymsxty.blog.163.com/blog/static/77790858201262963921161/)
Delphi Format 格式化数字的更多相关文章
- str.format() 格式化数字的多种方法
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前的 % . format 函数可以接受不限个参数 ...
- 【转】delphi Format格式化函数
转自:http://www.cnblogs.com/mumble/archive/2011/05/25/2056462.html Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助 ...
- delphi Format格式化函数
Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用: 首先看它的声明:function Format(const Format: ...
- python 中str format 格式化数字补0方法
>>> "{0:03d}".format(1)'001'>>> "{0:03d}".format(10)'010'> ...
- sql format 格式化数字(前面补0)
将一个数字例如33,或1使用t-sql语句转换成033或001 以下是详细分析: 1.select power(10,3)得到1000 2.select cast(1000+33 as varchar ...
- Python format 格式化函数。
Python format 格式化函数 Python 字符串 Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 ...
- 【Python】Python format 格式化函数(转帖)
https://www.runoob.com/python/att-string-format.html Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符 ...
- Pyhton实用的format()格式化函数
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前的 % . format 函数可以接受不限个参数 ...
- Python format格式化函数
参考资料:https://www.runoob.com/python/att-string-format.html 在学习Python的时候碰到了一个很有趣的格式化输入的技巧,下面记录在此. Pyth ...
随机推荐
- js基础梳理-关于this常见指向问题的分析
首先,依然回顾<js基础梳理-究竟什么是执行上下文栈(执行栈),执行上下文(可执行代码)?>中的 3.执行上下文的生命周期 3.1 创建阶段 生成变量对象(Variable object, ...
- angular笔记_9
<style> .red{background:red} </style> 失去焦点 <input type="text" ng-model=&quo ...
- Python3画图系列——NetworkX初探
NetworkX 概述 NetworkX 主要用于创造.操作复杂网络,以及学习复杂网络的结构.动力学及其功能.用于分析网络结构,建立网络模型,设计新的网络算法,绘制网络等等.安装networkx看以参 ...
- PCH 警告:标头停止点不能位于宏或#if块中
今天在vs2010写了点代码,居然报了“PCH 警告:标头停止点不能位于宏或#if块中”. /********************* * * * 文件夹: ▲01 绪论 * * * * 文件名: ...
- 如何修改PHP的memory_limit限制
在运行PHP程序,通常会遇到“Fatal Error: Allowed memory size of xx bytes exhausted”(允许内存大小为 xx 字节耗尽)的错误, 这个意味着PHP ...
- 通过 curl 传递数据
方法一(若为post方式,只适用于一维数组) /** * curl发送htpp请求 * 可以发送https,http,get方式,post方式,post数据发送 */ public function ...
- 部署前准备--使用Mysql之Django Debug Toolbar安装以及配置
python -c "import django ;print(django.__path__);" 查看python的全局配置 vi /usr/local/lib/python3 ...
- oracle 存储过程调用方式
Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常. Oracle存储过程可以有无参数存储过程和带参数存储过程. 一.无参程序过程语法 1 create or replace pro ...
- JDBC(12)—DBUtils工具类
DBUtils:commons-dbutils是Apache组织提供的一个开源JDBC工具库,它是对JDBC的简单封装,并且使用dbutils会极大的简化jdbc编码的工作量,同时不会影响到程序的性能 ...
- log4j2发送消息至Kafka
title: 自定义log4j2发送日志到Kafka tags: log4j2,kafka 为了给公司的大数据平台提供各项目组的日志,而又使各项目组在改动上无感知.做了一番调研后才发现log4j2默认 ...