格式化输出_格式化输出浮点数 - CSDN
精华内容
参与话题
  • Python格式化输出 %s %d %f

    万次阅读 多人点赞 2017-11-22 10:58:24
    格式 描述 %% 百分号标记 #就是输出一个% %c 字符及其ASCII码 %s 字符串 %d 有符号整数(十进制) %u 无符号整数(十进制) %o 无符号整数(八进制) %x 无符号整数(十六进制) %X 无符号整数(十六进制大写字符) %e 浮点...

    python print格式化输出。

     

    %r 用来做 debug 比较好,因为它会显示变量的原始数据(raw data),而其它的符
    号则是用来向用户显示输出的。

     

    1. 打印字符串

    print ("His name is %s"%("Aviad"))

    效果:

    2.打印整数

    print ("He is %d years old"%(25))

    效果:

    3.打印浮点数

    print ("His height is %f m"%(1.83))

    效果:

    4.打印浮点数(指定保留小数点位数)

    print ("His height is %.2f m"%(1.83))

    效果:

    5.指定占位符宽度

    print ("Name:%10s Age:%8d Height:%8.2f"%("Aviad",25,1.83))

    效果:

    6.指定占位符宽度(左对齐)

    print ("Name:%-10s Age:%-8d Height:%-8.2f"%("Aviad",25,1.83))

    效果:

    7.指定占位符(只能用0当占位符?)

    print ("Name:%-10s Age:%08d Height:%08.2f"%("Aviad",25,1.83))

    效果:

    8.科学计数法

    format(0.0015,'.2e')

    效果:

     

    我们还可以用词典来传递真实值。如下:
    print ("I'm %(c)s. I have %(l)d yuan." % {'c':'hungry','l':22})
    调试输出:
    I'm hungry. I have 22 yuan.
    
    
    

    格式符

    格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型,如下:

    %s    字符串 (采用str()的显示)

    %r    字符串 (采用repr()的显示)

    %c    单个字符

    %b    二进制整数

    %d    十进制整数

    %i    十进制整数

    %o    八进制整数

    %x    十六进制整数

    %e    指数 (基底写为e)

    %E    指数 (基底写为E)

    %f    浮点数

    %F    浮点数,与上相同

    %g    指数(e)或浮点数 (根据显示长度)

    %G    指数(E)或浮点数 (根据显示长度)

     

    %%    字符"%"

     

    可以用如下的方式,对格式进行进一步的控制:

    %[(name)][flags][width].[precision]typecode

    (name)为命名

    flags可以有+,-,' '或0。+表示右对齐。-表示左对齐。' '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充。

    width表示显示宽度

    precision表示小数点后精度

     

    比如:

    print("%+10x" % 10)
    print("%04d" % 5)
    print("%6.3f" % 2.3)

     

    上面的width, precision为两个整数。我们可以利用*,来动态代入这两个量。比如:

    print("%.*f" % (4, 1.2))

    Python实际上用4来替换*。所以实际的模板为"%.4f"。

     

    总结

    Python中内置的%操作符可用于格式化字符串操作,控制字符串的呈现格式。Python中还有其他的格式化字符串的方式,但%操作符的使用是最方便的。


    展开全文
  • C语言格式化输出

    千次阅读 2018-12-28 10:15:41
    1.格式控制符形式 % [{+,-}] [o] [{m,m.n}] [{l,h}] <格式控制符> 其中,中括号[]里的内容是可选的,<>里的内容是必须的。以下对各个标志的含义简要介绍: %:表示格式...

    1.格式控制符形式
    % [{+,-}] [o] [{m,m.n}] [{l,h}] <格式控制符>

    其中,中括号[]里的内容是可选的,<>里的内容是必须的。以下对各个标志的含义简要介绍:

    %:表示格式控制的起始符号,必不可少。–格式控制起始位置

    +/-:表示对齐标志,+表示右对齐,-表示左对其,缺省情况下为右对齐。–对齐标志

    o:表示当实际长度没有格式控制的长度大时,用“o”补全。–补全内容

    m/m.n:其中,m表示输出所占位宽,n表示实际取标识符的多少位输出–占位长度

    l/h:l对整型指long型,对实型指double型;h用于将整型字符修正为short型

    <>:格式控制符

    1.1格式控制符
    %d:用于输出整型数(整型指本质为整型的数,如int、short等)

    %c:用于输出一个字符

    %s:用于输出一个字符串

    %o:以无符号八进制形式输出整数值

    %x:以无符号十六进制形式输出整数值

    %u:以无符号形式输出十进制数

    %f:用来输出浮点数(float),精度为6位小数,第七位四舍五入。

    %p:指针的值

    1.2占位长度与格式控制符搭配输出
    1.2.1 占位长度与%d搭配
    %md:m为指定的输出数据的位宽。如果数据的位数小于m,则左端补以空格(因为默认右对齐,所以左补用以占位);如果数据的位数大于m,则以数据的实际位数输出。示例如下:
    在这里插入图片描述

    1.2.2 占位长度与%c搭配
    一般无此搭配方式。

    1.2.3 占位长度与%s搭配
    %ms:m为指定的输出字符串的宽度。如果字符串的位数小于m,则左端补空格;如果字符串的位数大于m,则以实际的字符串长度输出。实例如下:
    在这里插入图片描述

    %m.ns:意为从左向右截取字符串的n位输出到占位m的位置,左补空。设字符串实际长度为len,则具体表现形式如下:
    在这里插入图片描述
    1.若n<len

    截取字符串前n个字符,然后做如下判断:

    若m<n:则输出n个字符

    若m>n:则输出m个字符,左补空

    在这里插入图片描述
    2.若n>len

    取字符串的实际(长度len)字符,然后做如下判断:

    若m<len:则输出len个字符

    若m>len:则输出m个字符,左补空格

    在这里插入图片描述
    1.2.4 占位长度与%f搭配
    %m.nf:m为占位宽度,n为小数点右边的位数,浮点数的规则较字符串比起来更为复杂些,你不但要关注浮点数的总占位宽,还要关注小数的占位宽。小数部分的精度为lenDot,下面分整数位数与小数位数简要分析下:

    1.2.4.1小数部分:
    由于浮点数float的精度为6(即lenDot=6)。算小数部分原则:

    (1)首先根据浮点数的实际精度得出近似值,原则为:

    若浮点数的实际小数位长大于6,则截取6位,第七位四舍五入;若浮点数的实际小数位数小于6,则后补0。如1.23转换成1.230000;1.23456789转换成1.234568

    (2)根据上步中的结果值,从中截取n位长。注意:n一般小于或等于6,因为超过6位的数据不真实。

    1.2.4.2整数部分:
    整数部分完整输出,唯一要注意的是:

    当m>(整数位宽+小数点位宽+n)时,左补空。

    1.2.4.3示例如下:
    在这里插入图片描述
    1.2.4.4建议
    一般不对浮点数float输出大于6位的小数,因为大于6位后的数据已经在浮点精度之外了,是不正确的数据。

    1.3补全内容与占位长度、控制符的搭配输出
    当标识符的占位长度大于实际的长度时,在多出的位置处用补全内容填充。补全内容默认为空,可以显式指定补全内容为0。实例如下:

    1.4对齐标志
    对齐标志有两种:+和-,其中缺省为+。+表示右对齐,-表示左对齐。对齐标志要相对简单、更好理解,所以不细讲,直接举例验证,如下:

    左对齐:

    在这里插入图片描述

    右对齐:
    在这里插入图片描述

    展开全文
  • format格式化输出

    万次阅读 2018-04-16 14:51:10
    什么是format相对于基本格式化输出采用“%”的方法,format的功能强大,该函数把字符串当一个模板,通过传入的参数进行格式化,并且使用大括号“{}”作为特殊字符代替“%”,有点类似C#里面的占位符1)format的基本...

    什么是format

    相对于基本格式化输出采用“%”的方法,format的功能强大,该函数把字符串当一个模板,通过传入的参数进行格式化,并且使用大括号“{}”作为特殊字符代替“%”,有点类似C#里面的占位符

    1format的基本用法

    ·        不带编号,即“{}”

    ·        带数字编号,可调换顺序,即“{1}",“{2}”

    ·        带关键字,即“{a}","{tom}"

    例如:

    name = "Sandy"

    gender = ""

    age = 18

    print("姓名:%s,性别:%s年龄:%d"%(name,gender,age))

    print("姓名:{},性别:{}年龄:{}".format(name,gender,age))

    # 有了数字编号可以反复调用

    print("姓名:{0},性别:{1}年龄:{2}学生姓名:{0}".format(name,gender,age))

    # 标识名称更容易读懂

    print("姓名:{name},性别:{gender}年龄:{age}学生姓名:{name}".format(name=name,gender=gender,age=age))

     

    演示:


    2)format的进阶用法

    ·        <(默认)左对齐,> 右对齐,^中间对齐

    ·        取位数“{:4s}","{:.2f}"等

    如:

    print("姓名:{:10}".format(name))#默认左对齐

    print("姓名:{:<10}".format(name))#标识左对齐

    print("姓名:{:>10}".format(name))#右对齐

    print("姓名:{:^10}".format(name))#中间对齐

    print("{:.2f}".format(3.1415926))#保留2位有效数字

    print("{:10.2f}".format(3.1415926))#保留2位有效数字默认右对齐

    print("{:>10.2f}".format(3.1415926))#保留2位有效数字指明右对齐

    print("{:<10.2f}".format(3.1415926))#保留2位有效数字指明左对齐

    print("{:^10.2f}".format(3.1415926))#保留2位有效数字中间对齐

    演示:

    3format数值

    ·        "b" 二进制,数字以2位基数进行输出

    ·        "c" 字符,在打印之前将整数转换成对应的unicode字符串

    ·        "d" 十进制数,数字以10为基数进行输出

    ·        "o" 八进制数,数字以8为基数进行输出

    ·        "x" 十六进制数,数字以16为基数进行输出,9位以上用a-f表示

    ·        "e" 幂符号,用科学计数法打印数字。用"e"表示幂

    ·        "g" 一般格式,数字以fixed-point进行输出,当数值特别大的时候,用幂形式打印

    ·        "n" 数字,当值为整数时和"d"相同,值为浮点数是和"g"相同,不同的是他会根据区域设置插入数字分隔符。

    ·        "%" 百分数,数值乘以100打印,保留6位小数,值后面会有一个百分号

    ·        "," 千位分隔符,货币表示或者大数据值经常用到

     

    如:

    num01,num02=200,300

    print("十六进制打印:{0:x}{1:x}".format(num01,num02))

    print("八进制打印:{0:o}{1:o}".format(num01,num02))

    print("二进制打印:{0:b}{1:b}".format(num01,num02))

    print("{0:c}".format(76))#可以把编码转换为特定的字符,参考ASCll

    print("{:e}".format(123456.77544))#默认小数点后面保留6

    print("{:0.2e}".format(123456.77544))#小数点后面保留2

    print("{:g}".format(123456.77544))#保留6

    print("{:g}".format(123456789.77544))#超过6位用科学计数法表示

    print("{:%}".format(34))#默认小数点后面保留6

    print("{:0.2%}".format(34))

    print("{:,}".format(1234567890))

     

    演示:


    展开全文
  • Java中格式化输出

    千次阅读 2018-12-23 10:06:02
     format 参数输出格式,定义格式为:  %[flags] [width] [.perc] type  规定数据输出方式,具体如下:   1.type 含义如下:   %d 十进制整数 159   %x 十六进制数 9f %o 八进制数 ...


     

    int printf(const char *format,[argument]);

      format 参数输出的格式,定义格式为:

      %[flags] [width] [.perc] type

      规定数据输出方式,具体如下:

     

    1.type 含义如下:

     

    %d 十进制整数         159

     

    %x 十六进制数          9f

    %o 八进制数              237

     

    %f  定点浮点数      1.59

     

    %e 指数浮点数      1.59e+01

    %a 十六进制浮点数  0x1.fcc

    %c  字符                  H

     

    %s 字符串    Hello
    %b 布尔                     true
    %tX 日期       

     

    %% 输出百分号%

     


    二、perc

    指精度。用于说明输出的实型数的小数位数。隐含的精度为n=6位。

    prec 有几种情况  
    1. 正整数的最小位数。
    2. 在浮点型数中代表小数位数
    3. 在%g 格式代表有效位数的最大值。
    4. 在%s格式代表字符串的最大长度。
    5. 若为×符号则代表下个参数值为最大长度。

     

    三、width

     

    指域宽,即对应的输出项在输出设备上 所占的字符数。

     

     n(n=1,2,3...) 宽度至少为n位,不够以空格填充

     0n(n=1,2,3...) 宽度至少为n位,不够左边以0填充 

     

    四、flags 规定输出格式,取值和含义如下:

    - ----->左对齐,右边填充空格------------------->|1111 |

    + ----->在数字前增加符号 + 或 - --------------->+-101

    空格--->对负数显示符号,正数前显示空格--------->-1、| 1|

    0------> 数字前面补0 -------------------------->|00000000001|

    ,------> 添加分组分隔符------------------------>100,000,000

    $------> 给定被格式化的参数索引---------------->如%1$d,%1$X,将一个参数分别以十进制、十六进制显示

     

    (------> 将负数括在括号内----------------------->-10001->(10001)

     

     

    注:以下转义序列

       \\ 反斜杠

      \a 警告

      \b 退格

      \f 换页

      \n 换行

      \r 回车

      \t 跳格

      \v 垂直跳格

     

    int printf(const char *format,[argument]);

      format 参数输出的格式,定义格式为:

      %[flags] [width] [.perc] type

      规定数据输出方式,具体如下:

     

    1.type 含义如下:

    %d 十进制整数         159

    %x 十六进制数          9f

    %o 八进制数              237

    %f  定点浮点数      1.59

    %e 指数浮点数      1.59e+01

    %a 十六进制浮点数  0x1.fcc

    %c  字符                  H

    %s 字符串    Hello
    %b 布尔                     true
    %tX 日期       

    %% 输出百分号%

     


    二、perc

    指精度。用于说明输出的实型数的小数位数。隐含的精度为n=6位。

    prec 有几种情况  
    1. 正整数的最小位数。
    2. 在浮点型数中代表小数位数
    3. 在%g 格式代表有效位数的最大值。
    4. 在%s格式代表字符串的最大长度。
    5. 若为×符号则代表下个参数值为最大长度。

     

    三、width

    指域宽,即对应的输出项在输出设备上 所占的字符数。

     

     n(n=1,2,3...) 宽度至少为n位,不够以空格填充

     0n(n=1,2,3...) 宽度至少为n位,不够左边以0填充 

     

    四、flags 规定输出格式,取值和含义如下:

    - ----->左对齐,右边填充空格------------------->|1111 |

    + ----->在数字前增加符号 + 或 - --------------->+-101

    空格--->对负数显示符号,正数前显示空格--------->-1、| 1|

    0------> 数字前面补0 -------------------------->|00000000001|

    ,------> 添加分组分隔符------------------------>100,000,000

    $------> 给定被格式化的参数索引---------------->如%1$d,%1$X,将一个参数分别以十进制、十六进制显示

     

    (------> 将负数括在括号内----------------------->-10001->(10001)

     

     

    注:以下转义序列

       \\ 反斜杠

      \a 警告

      \b 退格

      \f 换页

      \n 换行

      \r 回车

      \t 跳格

      \v 垂直跳格

    展开全文
  • Python基本格式化输出

    万次阅读 2018-04-16 14:47:37
    什么叫格式化输出?数据按照某种特殊的要求输出假如输入一个整数,希望整数按照十六进制,八进制输出,如果输入一个小数,希望小数保留后面2位数然后输出,或者以科学计数法的方式来输出小数。字符串的输出希望在十...
  • 格式化输出

    2019-07-31 06:15:09
    name="张三" sex="男" print(name+"是一个"+sex) %s是占位符 ,占位的是字符串 %d占位的必须是数字 ...例:让用户输入姓名、年龄、爱好,以格式化的形式输出 name=input("请输入姓名") age=inp...
  • 近期有同学在使用format格式化字符串的时候遇到了一个问题,这个问题也是大家在使用format的过程中非常容易踩的坑。 问题代码如下: 代码: 错误: format的基本使用 正式踩坑之前,我们先来...
  • python3 format格式化输出

    万次阅读 多人点赞 2018-12-25 11:45:52
    使用 format 方法,可以很方便的对字符串进行格式化输出 1. 使用参数位置格式 'my name is {0}, {0} age is {1}'.format('wang',10) &gt;&gt;&gt; 'my name is wang, wang age is 10'   2.使用...
  • printf 格式化输出符号详细说明

    万次阅读 多人点赞 2018-08-13 17:44:36
    %d 有符号十进制整数(int)(%ld、%Ld:长整型数据(long),%hd:输出短整形。)  %e 浮点数、e-记数法 %E 浮点数、E-记数法 %f 单精度浮点数(默认float)、十进制记数法(%.nf 这里n表示精确到小...
  • printf()格式化输出详解

    千次阅读 2019-04-29 10:58:32
    % - 0 m.n l或h 格式字符 %:表示格式说明的起始符号,不可缺少。 -: 有-表示左对齐输出,如省略表示右对齐输出。 0:有0表示指定空位填0,如省略表示指定空位不填。 m.n:m指域宽,即对应的输出项在输出设备上所...
  • matlab 格式化输出

    万次阅读 2016-05-08 15:52:32
    fprintf('%6s%12s%12s%12s%12s\n','Iter', 'fObj','fResidue','fSparsity','fWeight');
  • html中用js格式化JSON输出

    万次阅读 2019-07-02 11:26:07
    调用接口将返回的json数据按原样塞入 <div> <pre id = "show"> </pre> </div>...需要用JSON.stringify()转为字符串才能作为内容填充进去,如果要格式化显示,则要在...
  • python 格式化输出 json 数据

    万次阅读 2018-03-08 12:26:04
    python 格式化输出 json 数据# -*- coding: utf-8 -*- import jsondata= { "msg": { "crc": 0, "msg_body": "How are you ?", "msg_len": 88, "recv_id": 319371, "send_id": 319371, "send_time":
  • Python进行JSON格式化输出

    万次阅读 多人点赞 2017-08-16 12:36:11
    先写一个字典并将其转换成Json格式
  • java中格式化输出

    万次阅读 2018-04-10 09:15:35
    public class TestNumber { public static void main(String[] args) { String name = "盖伦"; int kill = 8; String title = "超神"; String sentence = name + "... + titl...
  • python如何格式化输出百分号

    万次阅读 2017-09-10 20:32:41
    python的百分号输出比较奇怪,代码如下print('%s%%'%(5))#这样就能输出‘5%’
  • matlab:用sprintf()格式化输出

    万次阅读 2020-04-02 20:02:28
    sprintf()语法%Format data into string str = sprintf(formatSpec,A1,...,An) %formats the data in arrays A1,...,An according to formatSpec in column order, and returns the ...实例%数值的格式化输出 str_a=s
  • js字符串格式化输出

    万次阅读 2018-02-26 17:54:45
    自己写的一个js字符串格式化输出,有需要的可以参考一下,也希望大家可以提出修改建议String.format = function(args) { var newStr = ""; if (arguments.length &gt; 0){ if(arguments.length === 1)...
  • go json数据格式化输出

    万次阅读 2017-06-10 00:14:40
    package main import ( "bytes" "encoding/json" "log" "os" ) func main() { type Road struct { Name string Number int } roads := []Road{ {"Diamond
  • std::string格式化输入输出

    万次阅读 2016-03-08 09:59:17
    在C语言中:  C函数有sprintf函数, 比较方便, 但是需要知道所需要的内存空间是多少. 在C++的框架MFC中: ... std::string没有格式化输入输出的Format函数. 只能通过 std::strstream进行转换 #i
1 2 3 4 5 ... 20
收藏数 870,428
精华内容 348,171
关键字:

格式化输出