• 7907阅读
  • 9回复

请问如何用多位来表示一个整数? [复制链接]

上一主题 下一主题
离线king_xl
 

只看楼主 正序阅读 楼主  发表于: 2006-04-03
如题:比如 1,我想显示成001,该如何实现,以前都是用1000+1,然后再截取后几位,感觉很愚蠢
[ 此贴被XChinux在2006-04-03 16:18重新编辑 ]
离线jojo
只看该作者 9楼 发表于: 2006-04-07
这个问题也困扰了我一些日子了,qt的方法好用,thanks a lot!
离线king_xl

只看该作者 8楼 发表于: 2006-04-04
qt 的方法,thanx again!!
离线myer

只看该作者 7楼 发表于: 2006-04-04
QString.arg( int a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char( ' ' ) );

例如:int i=10;
tr("%1").arg(i, 4, 10, '0');//转换为4位字符串,补0,默认补的是空格。
http://user.qzone.qq.com/56430808
离线king_xl

只看该作者 6楼 发表于: 2006-04-03
thanx!!
离线wylhistory
只看该作者 5楼 发表于: 2006-04-03
对了嘛,你这样吧意思说清楚,你看楼上的就告诉你了。
离线gegenteil

只看该作者 4楼 发表于: 2006-04-03
Hi

You can use sprintf.


  1. char s [10];
  2. int i=123;
  3. sprintf(s, "%07d", i);
离线king_xl

只看该作者 3楼 发表于: 2006-04-03
这样不行啊,假如我只想用3位来表示一个数,如果是在一个循环里,如 for( int i = 0;i<20;i++ ),那像你这样当i>10时,就是4位了。
离线wylhistory
只看该作者 2楼 发表于: 2006-04-03
不好意思,少写了些东西,应该是这样的,QString show=tr("00%1").arg(i);
离线wylhistory
只看该作者 1楼 发表于: 2006-04-03
不太明白您的意思。直接前面加00不就得了,比如,QString show=tr("00").arg(i);
快速回复
限100 字节
 
上一个 下一个