MyException - 我的异常网
当前位置:我的异常网» Delphi » 请问关于delphi中格式化输出的有关问题

请问关于delphi中格式化输出的有关问题

www.MyException.Cn  网友分享于:2013-02-13  浏览:15次
请教关于delphi中格式化输出的问题
在VC中这样的输出格式:

  printf("chunk rank %d, dimensions %lu x %lu\n", rank_chunk,
  (unsigned long)(chunk_dims_out[0]),
  (unsigned long)(chunk_dims_out[1]));


在delphi中应该怎样表示啊?

------解决方案--------------------
printf("chunk rank %d, dimensions %lu x %lu\n", rank_chunk,
(unsigned long)(chunk_dims_out[0]),
(unsigned long)(chunk_dims_out[1]));
大概如下面:
Format('chunk rank %d, dimensions %d x %d' + slineBreak,
[Cardinal(chunk_dims_out[0]), Cardinal(chunk_dims_out[1])]);
------解决方案--------------------
format挺好用的


Format中换行
ShowMessage(Format('名称:%s '#13#10' 帐号:%s', ['sUser','sPW']));

Format中 如有%EE%A1 字符串
加上%让他变成普通字符串 %%EE%%A1 


var
s: string;
begin
//指令类型 type

s := Format('最大整数是: %d; 最小整数是: %d',[MaxInt,Low(Integer)]);
//返回: 最大整数是: 2147483647; 最小整数是: -2147483648
{ 提示: 格式指令必须以 % 开始, 不区分大小写, %d 代表一个整数; 第二个参数是一个变体数组 }

s := Format('最大的无负号整数是: %u',[High(Cardinal)]);
//返回: 最大的无负号整数是: 4294967295
{ %u表示一个无负号整数 }

s := Format('输入-2的结果是: %u',[-2]);
//返回: 输入-2的结果是: 4294967294
{ 如果对应 %u 的是个负数, 则返回: 无负号整数最大值 - 这个数的绝对值 + 1 }

s := Format('%s! %s',['你好','我是万一']);
//返回: 你好! 我是万一
{ %s 表示字符串 }

s := Format('%f',[Pi]);
//返回: Pi的值是: 3.14
{ %f 表示浮点数, 保留或凑够两位小数点 }

s := Format('%g',[01.2345000]);
//返回: 1.2345
{ %g 表示浮点数, 会去掉多余的 0 }

s := Format('%n',[12345.6789]);
//返回: 12,345.68
{ %n 表示浮点数, 整数部分使用千位分隔符, 保留两位小数点 }

s := Format('%m',[12345.6789]);
//返回: ¥12,345.68
{ %m 表示浮点数, 加货币记号, 转换结果取决于系统的地域设置 }

s := Format('%e',[12345.6789]);
//返回: 1.23456789000000E+004
{ %e 用科学计数法表示整数或浮点数 }

s := Format('%p',[@Self]);
//返回: 0012F5BC
{ %p 表示指针地址, 用十六进制表示 }

s := Format('%x',[255]);
//返回: FF
{ %x 用十六进制表示一个整数 }


//Index

s := Format('%s%s',['万','一']);
s := Format('%0:s%1:s',['万','一']);
//返回: 万一
{ 上面两行的结果是一样的, 0: 对应数组中的第一个值; 1: 对应数组中的第二个值 }

s := Format('%1:s%0:s',['万','一']);
//返回: 一万
{ 翻转了一下顺序 }

s := Format('%1:s%0:s%0:s%1:s',['万','一']);
//返回: 一万万一
{ 反复使用 }


//Width 与对齐方式

s := Format('%d,%8d,%d',[1,2,3]);
//返回: 1, 2,3
{ 给第二个值指定了8个字符的宽度, 缺少的用空格填充; 如果指定少了则无效 }

s := Format('%d,%-8d,%d',[1,2,3]);
//返回: 1,2 ,3
{ - 表示左对齐, 默认是右对齐的; - 符号在 Width 前面、Index 后面 }


//指定精度 prec

s := Format('%.9f',[Pi]);
//返回: 3.141592654
{ 指定小数点的位数, 取值范围1-9, 输入0也当1用 }

s := Format('%.5d',[12]);
//返回: 00012
{ 这是给整数指定位数, 如果小了则无效 }

s := Format('%.3s',['Format']);
//返回: For
{ 给字符串指定位数, 如果大了则无效 }

s := Format('%.3e',[123.456]);
//返回: 1.23E+002
{ 给科学计数法指定位数 }


//指令顺序:

{ "%" [index ":"] ["-"] [width] ["." prec] type }

ShowMessage(s);
end;





//首先看它的声明:
function Format(const Format: string; const Args: array of const): string; overload;

//事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它是线程安全的,
//但并不多用,所以这里只对第一个介绍:
function Format(const Format: string; const Args: array of const): string; overload;
 
//Format参数是一个格式字符串,用于格式化Args里面的值的。Args又是什么呢,
//它是一个变体数组,即它里面可以有多个参数,而且每个参数可以不同。
//如以下例子:

Format('my name is %6s',['wind']);
//返回后就是my name is wind

//现在来看Format参数的详细情况:
//Format里面可以写普通的字符串,比如'my name is',但有些格式指令字符具有特殊意义,比如"%6s"格式指令具有以下的形式:
"%" [index ":"] ["-"] [width] ["." prec] type

文章评论

我的丈夫是个程序员
我的丈夫是个程序员
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
中美印日四国程序员比较
中美印日四国程序员比较
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
程序员和编码员之间的区别
程序员和编码员之间的区别
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
代码女神横空出世
代码女神横空出世
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
编程语言是女人
编程语言是女人
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
旅行,写作,编程
旅行,写作,编程
 程序员的样子
程序员的样子
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
如何成为一名黑客
如何成为一名黑客
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
一个程序员的时间管理
一个程序员的时间管理
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
每天工作4小时的程序员
每天工作4小时的程序员
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
漫画:程序员的工作
漫画:程序员的工作
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
程序员的鄙视链
程序员的鄙视链
老程序员的下场
老程序员的下场
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
那些争议最大的编程观点
那些争议最大的编程观点
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
为什么程序员都是夜猫子
为什么程序员都是夜猫子
鲜为人知的编程真相
鲜为人知的编程真相
我是如何打败拖延症的
我是如何打败拖延症的
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
程序员应该关注的一些事儿
程序员应该关注的一些事儿
Java程序员必看电影
Java程序员必看电影
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有