| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3148 人关注过本帖
标题:VB如何用百分号格式化字符(像%s %d的)
只看楼主 加入收藏
chenyucheng
Rank: 3Rank: 3
来 自:浙江省台州市临海市
等 级:论坛游侠
威 望:3
帖 子:141
专家分:181
注 册:2022-7-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:22 
VB如何用百分号格式化字符(像%s %d的)
C语言:
printf("整数:%d 浮点数:%f 字符串:%s", 64, 3.1415926, "abc");
Python:
print("整数:%d 浮点数:%f 字符串:%s" % ( 64, 3.1415926, "abc" ))
VB怎么实现用百分号格式字符
搜索更多相关主题的帖子: 格式化 字符 整数 字符串 VB 
2022-08-28 16:34
约定的童话
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:56
帖 子:246
专家分:1442
注 册:2021-8-1
收藏
得分:0 
msgbox format(a,"0.0%")?
2022-08-28 21:11
chenyucheng
Rank: 3Rank: 3
来 自:浙江省台州市临海市
等 级:论坛游侠
威 望:3
帖 子:141
专家分:181
注 册:2022-7-1
收藏
得分:0 
回复 2楼 约定的童话
不是这个

爱玩编程的小学生,有Python,但只会一点点C++。

版主->斑竹->竹子,所以版主是竹子。(doge)
//不要让我当版主
2022-08-29 08:06
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1934
专家分:3012
注 册:2009-12-22
收藏
得分:0 
我这个?

Dim a%
a = 3
MsgBox VarType(a)

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2022-08-29 08:41
chenyucheng
Rank: 3Rank: 3
来 自:浙江省台州市临海市
等 级:论坛游侠
威 望:3
帖 子:141
专家分:181
注 册:2022-7-1
收藏
得分:0 
回复 4楼 yuma
不是

爱玩编程的小学生,有Python,但只会一点点C++。

版主->斑竹->竹子,所以版主是竹子。(doge)
//不要让我当版主
2022-08-29 08:47
chenyucheng
Rank: 3Rank: 3
来 自:浙江省台州市临海市
等 级:论坛游侠
威 望:3
帖 子:141
专家分:181
注 册:2022-7-1
收藏
得分:0 
以下是引用yuma在2022-8-29 08:41:57的发言:

我这个?

Dim a%
a = 3
MsgBox VarType(a)

不是,我说的是C语言那样的文本格式化
printf("整数:%d 浮点数:%f 字符串:%s", 64, 3.14, "abc");

爱玩编程的小学生,有Python,但只会一点点C++。

版主->斑竹->竹子,所以版主是竹子。(doge)
//不要让我当版主
2022-08-29 08:48
chenyucheng
Rank: 3Rank: 3
来 自:浙江省台州市临海市
等 级:论坛游侠
威 望:3
帖 子:141
专家分:181
注 册:2022-7-1
收藏
得分:0 
这好多同学都审题不仔细

爱玩编程的小学生,有Python,但只会一点点C++。

版主->斑竹->竹子,所以版主是竹子。(doge)
//不要让我当版主
2022-08-29 08:50
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1934
专家分:3012
注 册:2009-12-22
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

然后呢,3.14后面就加4个0就完了?

[此贴子已经被作者于2022-8-29 09:58编辑过]


心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2022-08-29 09:55
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1508
专家分:9241
注 册:2010-3-16
收藏
得分:5 
程序代码:
简单做了个格式化字符串解析,供参考

Private Sub Command1_Click()
    s = printf("%ttt\n%s\t\t%f %d\n", "aa", 3.1415926, 999)
    Debug.Print s
End Sub

Private Function printf(formatStr$, ParamArray Parameters() As Variant)
    
    Dim Count%, index%, vari%, slen%, s$
    
    index = InStr(formatStr, "%")
    
    If index = 0 Then
        printf = formatStr
        Exit Function
    End If
    
    printf = Mid(formatStr, 1, index - 1)
    slen = Len(formatStr)
    
    vari = 0
    For i = index To slen
        s = Mid(formatStr, i, 1)
        
        If s = "%" And i + 1 < slen Then
            i = i + 1
            s = Mid(formatStr, i, 1)
            Select Case s
            Case "%"
                s = "%"
            Case "s"
                s = Parameters(vari)
                vari = vari + 1
            Case "f"
                s = Format(Parameters(vari))
                vari = vari + 1
            Case "d"
                s = Format(Parameters(vari))
                vari = vari + 1
            Case Else   '%后面的不识别则直接输出
                s = "%" & s
            End Select
            
        End If
        printf = printf & s
    Next
    
    printf = Replace(printf, "\n", vbCrLf)
    printf = Replace(printf, "\t", vbTab)
    
    
End Function




[此贴子已经被作者于2022-8-29 13:43编辑过]

2022-08-29 10:11
时光流逝
Rank: 4
来 自:北京
等 级:业余侠客
威 望:8
帖 子:94
专家分:297
注 册:2019-11-16
收藏
得分:1 
回复 9楼 apull
vb支持可变参数啊,ParamArray Parameters() As Variant,然后
For Each Parameter In Parameters
    '...
Next
2022-08-29 13:02
快速回复:VB如何用百分号格式化字符(像%s %d的)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028845 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved