`
ku_uga
  • 浏览: 46298 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

printf与格式化字符串

阅读更多

常规类型、字符类型和数值类型的格式

%[argument_index$][flags][width][.precision]conversion

日期和时间类型的格式

%[argument_index$][flags][width]conversion

 

argument_index$

是一个十进制整数,用于表明要格式化第几个参数。第一个参数由 "1$" 引用,第二个参数由 "2$" 引用,依此类推。

flags

'-'

结果将是左对齐的

'#'

结果应该使用依赖于转换类型的替换形式(看例子比较好理解)

'+'

结果总是包括一个符号

'('

结果若是负值,则用()括起来

'0'

结果用0补充

','

结果用逗号分隔(只使用十进制)

width

是一个非负十进制整数,表明要向输出中写入的最少字符数,如果小于系统默认字符数,将不起效果

.precision

是一个非负十进制整数,表明要向输出中写入的最少字符数或者保留多少位小数

conversion

'c', 'C'

结果是一个 Unicode 字符   'C'  返回结果是大写

'd'

结果被格式化为十进制整数

'o'

结果被格式化为八进制整数

'x', 'X'

结果被格式化为十六进制整数  'X'  返回结果是大写

'e', 'E'

结果被格式化为用计算机科学记数法表示的十进制数  'E'  返回结果是大写

'f'

结果被格式化为浮点数

'g', 'G'

根据精度和舍入运算后的值, 使用计算机科学记数形式或十进制格式对结果进行格式化

'a', 'A'

结果被格式化为带有效位数和指数的十六进制浮点数

't', 'T'

日期和时间转换字符的前缀。请参阅日期/时间转换。'T'  返回结果是大写

'%'

输出%,其它什么都没有

'n'

结果为特定于平台的行分隔符

'H'

24 小时制的小时,被格式化为带前导零的两位数

'I'

12 小时制的小时,被格式化为带前导零的两位数

'k'

24 小时制的小时

'l'

12 小时制的小时

'M'

小时中的分钟,被格式化为必要时带前导零的两位数

'S'

分钟中的秒,被格式化为必要时带前导零的两位数

'L'

秒中的毫秒,被格式化为必要时带前导零的三位数

举例

public class StringFormat {

    public static void main(String[] args) {

       double d = 1345.678;

       String s = "你好!";

       int i = 1234;

       // "%"表示进行格式化输出,"%"之后的内容为格式的定义。

       System.out.printf("%f", 1345.678);

//"f"表示格式化输出浮点数。1345.678-->1345.678000

 

   System.out.printf("%9f", 1345.678);

//1345.678-->1345.678000,系统默认为11个字符数,定义9个没有效果

 

       System.out.printf("%12f", 1345.678);

//1345.678-->*1345.678000,注意1前面有一个空字符,为可观看暂用”*”代替

 

       System.out.printf("%12.2f", 1345.678);

//2表示小数点后的位数 1345.678-->*****1345.68

 

       System.out.printf("%+9.2f", 1345.678);

//"+"表示输出的数带正负号 1345.678-->*+1345.68

 

       System.out.printf("%-9.4f", 1345.678);

//"-"表示输出的数左对齐(默认为右对齐)1345.678-->1345.6780

 

       System.out.printf("%+-9.3f", 1345.678);

//"+-"表示输出的数带正负号且左对齐。

 

       System.out.printf("%5d", 1234);

//"d"表示输出十进制整数 1234-->*1234

 

       System.out.printf("%o", 1234);

//"o"表示输出八进制整数 1234-->2322

 

       System.out.printf("%x", 1234);

//"x"表示输出十六进制整数 1234-->4d2

 

       System.out.printf("%#x", 1234);

//1234-->0x4d2,加上#前面就加上0x

 

       System.out.printf("%s", "你好!");

//"s"表示输出字符串 你好!-->你好!

 

   System.out.printf("输出一个浮点数:%1$f,一个整数:%2$d,一个字符串:%3$s", 1234.567, 1234, "你好!");

       // 可以输出多个变量,注意顺序。

 

       System.out.println(String.format("%2$08d", -3123, -5566));

       // -5566-->-00005566

 

       System.out.println(String.format("%1$9d", -31));

// -31-->******-31    

  

System.out.println(String.format("%1$(9d", -31));

       // -31-->*****(31)

 

       Calendar cal = Calendar.getInstance();

       System.out.printf("%1$tm-%1$te-%1$tY", cal);

        // cal-->11-21-2010,记得要加上’t’

 

        System.out.printf("%1$tH:%1$tM:%1$tS",cal);

        // cal-->16:01:57,记得要加上’t’

分享到:
评论

相关推荐

    格式化字符串攻击检测与防范研究 (2007年)

    文中首先比较了格式化字符串 攻击和缓冲区溢出攻击的联系与区别,总结了倡printf( )系列函数与格式化字符串攻击相关的3条 特殊性质以及6种格式化字符串攻击的方法。采用基于源代码的检测方法对格式化字符串漏洞进 行...

    格式化字符串例子

    printf,sprintf,sprintf_s,_snprintf_s,vsprintf,vsnprintf,_vsnprintf_s,_vscprintf等格式化字符串使用与区别例子

    swift-Sprinter是在iOS和MacOS上用于格式化字符串的库

    Sprinter是Mac和iOS的库,用于在运行时使用printf / NSLog格式令牌约定格式化字符串。

    Python字符串格式化

    Python字符串格式化操作符(%)只适用于字符串类型,非常类似于C 语言里面的printf()函数的字符串格式化,甚至所用的符号都一样,都用百分号(%),并且支持所有printf()式的格式化操作。

    c、c++结构体格式化(结构体反射)

    c、c++如果在日志中查看某个结构字段信息,只能通过printf逐个格式化,工作量大; 该dll库通知pdb文件分析结构体字段位置,并根据类型格式一个完整字符串,极大降低了开发者工作量。 1、可通过cdump\Release\...

    字符串 Hex 转换 输出

    2.可以格式化显示输出这个功能类似printf,但是是一个指定字节大小为单位的'值'来进行输出的。 3.可以通过Hex输入查看原字符串 4.字符统计功能 5.输入的字符串Asc&Unicode或者Hex在内存中的数据呈现。 6.支持托盘,...

    深入理解php printf() 输出格式化的字符串

    printf() 函数输出格式化的字符串。 arg1、arg2、arg++ 参数将被插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个 % 符号处,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。 注释:如果 %...

    vsnprintf字符串格式化输出实例:日志中打印程序名和行号 — TypeCodes1

    具体代码如下:* @FileName vsnprintf_name_line.c* @Describe A simple example for using v

    C语言IO--printf右对齐补零

    C语言IO--printf右对齐补零,包括标准输入输出函数、格式化输入输出函数、格式化规定符、一些特殊规定字符等

    printf源代码分析

    printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。 格式输出,它是c语言中产生格式化输出的函数(在 stdio.h 中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式...

    PHP vsprintf()函数格式化字符串操作原理解析

    把格式化字符串写入变量中: <?php $number = 9; $str = Beijing; $txt = vsprintf(There are %u million bicycles in %s.,array($number,$str)); echo $txt; ?> 定义和用法 vsprintf() 函数把格式化字符串...

    浅谈Python 字符串格式化输出(format/printf)

    Python 字符串格式化使用 “字符 %格式1 %格式2 字符”%(变量1,变量2),%格式表示接受变量的类型。简单的使用例子如下: # 例:字符串格式化 Name = ’17jo’  print ‘www.%s.com’%Name  >> www.17jo.com Name =...

    Python常见格式化字符串方法小结【百分号与format方法】

    本文实例讲述了Python常见格式化字符串方法。分享给大家供大家参考,具体如下: 【方式一】百分号(%)方式,类C的printf,需要分别不同类型。 1、匿名tuple。(推荐在参数少时用) >>> '姓名:%s, 年龄:%d' % ('...

    cpp-ggformat用于C的字符串格式化库

    ggformat - 用于C 的字符串格式化库,支持用户定义的类型,而不会浪费编译时间。 它是用来替代printf、

    python 格式化输出百分号的方法

    您可能感兴趣的文章:Python实现小数转化为百分数的格式化输出方法示例Python常见格式化字符串方法小结【百分号与format方法】python format 格式化输出方法浅谈Python 字符串格式化输出(format/printf)Python中格式...

    printf:用于 printf 格式字符串的基于 Web 的可视化工具

    用于 printf 格式字符串的基于 Web 的可视化工具。 建立网站 安装所有依赖项后: npm install npm install -g gulp 您可以通过以下方式运行本地服务器: gulp 要生成缩小的 javascript: gulp --type ...

    shell学习之printf命令格式化输出语句

    printf 命令用于格式化输出, 是echo命令的增强版。它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同。 注意:printf 由 POSIX 标准所定义,移植性要比 echo 好。 如同 echo 命令,printf 命令也可以...

    利用宏将网络字节序和主机字节序ip格式化输出方法

    利用宏将网络字节序和主机字节序ip格式化输出为字符串ip

Global site tag (gtag.js) - Google Analytics