在项目中,经常需要对输出流进行格式化,那么今天小豆君就给大家介绍下输出流的格式化使用说明。
1设置数字的输出格式
可以使用QTextStream类的setNumberFlags方法,指定数字的输出格式,它的标志位含义介绍如下:
QTextStream::ShowBase指定以哪一种进制进行显示,16("0x"),8("0"),or2("0b")。
QTextStream::ForcePoint如果输出类型是double或float,若这个数字不含小数部分,默认情况下不显示小数部分,若设置了该标志位,则显示小数部分(.)。
QTextStream::ForceSign在输出的数字前面加上正负号,即"+"或"-"。
QTextStream::UppercaseBase在进制指示中,使用大写字母表示,如"0X","0B"。
QTextStream::UppercaseDigits使用大写字母来表示10到35位数字,而不是小写。例如16进制中的a-f都用大写字母表示,或者科学计数法中的e使用大写E。
intmain{QTextStreamout(stdout);inti=60;out.setIntegerBase(16);//设置16进制显示,所以使用输入输出流,也可以很容易的进行进制转换out<
2宽度,填充和对齐方式
2.1宽度
可以调用setFieldWidth来设置输出流的宽度,所谓宽度是指,当在流中输出一个数时,至少产生宽度值所规定数量的字符。如果插入字符的个数小于宽度值,则用某个字符对空余的位置进行填充。
一定注意,这里的宽度是指定输出字符的最小数目,如果数目不够,则使用填充字符进行填充,而不会截断输出。如果你设置宽度为2时输出1234,仍会得到1234。
QTextStream的宽度设置与标准库的有一点不同,它不需要像标准库那样,在每一个输出符前都需要设置一次宽度。
2.2对齐方式
对齐方式一般和宽度一起使用,
QTextStream::AlignLeft左对齐
QTextStream::AlignRight右对齐
QTextStream::AlignCenter居中
QTextStream::AlignAccountingStyle和AlignRight一样,只是数字的符号是左对齐的。
intmain{QTextStreamout(stdout);inti=60;out.setFieldWidth(6);out<
3精度
请看下面的程序:
QTextStreamout(stdout);doubled=12.3456789;out<此程序预想的输出结果应该是12.3456789,但实际的输出结果是12.3457,那么,是d的值改变了吗。当然没有,因为Q_ASSERT测试为真。这是因为QTextStream的精度默认设置为6,而如果想要改变它的默认精度,则可以使用setRealNumberPrecision方法。QTextStreamout(stdout);out.setRealNumberPrecision(10);doubled=12.3456789;out<好了,关于QTextStream的格式化输出就先介绍到这里。
此程序预想的输出结果应该是12.3456789,但实际的输出结果是12.3457,那么,是d的值改变了吗。当然没有,因为Q_ASSERT测试为真。
这是因为QTextStream的精度默认设置为6,而如果想要改变它的默认精度,则可以使用setRealNumberPrecision方法。
QTextStreamout(stdout);out.setRealNumberPrecision(10);doubled=12.3456789;out<好了,关于QTextStream的格式化输出就先介绍到这里。
好了,关于QTextStream的格式化输出就先介绍到这里。
上一篇:命运方舟辅助职业怎么选择-辅助职业选择推荐
下一篇:某讯出品, 两千人评价高分, 当“鸡你太美”变成游戏会发生什么?
哈哈哈 子弹越打越多了
.
《刺客信条: 黑旗 记忆重置》回应DLC比本体贵: DLC非必须
当臭猫扶贫神秘嘉豪号主!
原神: 7.0奥黛塔定位反转! 并非木偶专属, 冰神设计成最大悬念
哪辆车能不被28吨钢卷压成废铁? 哪辆车能不被28吨钢卷压成废铁?
原神: 新超导木偶队顶配配装攻略! 告别刮痧与充能卡顿